This document will be finalized after the GSoC 2025 program launch.
Google Summer of Code 2025 ideas and guidelines - Neutralinojs
GSoC (Google Summer of Code) is an international program that motivates developers to contribute to open-source projects. Google awards stipends for contributors who successfully complete the GSoC program. GSoc contributors typically work on open-source development tasks under the guidance of organization mentors. Read more details about GSoC from the official website.
Anyone (including beginners and students) who is older than 18 can become a contributor with the GSoC program. Check more details about contributor eligibility from this link.
Follow these steps to get started with GSoC 2025 as a contributor:
- Join Neutralinojs Discord channel using this invitation link.
- Introduce yourself in the #gsoc channel on Discord.
- Become familiar with the main project and sub-projects, start with the documentation, and then codebases.
- Watch framework, JavaScript API, and CLI code explanation videos for detailed codebase explanations.
- Read both contribution guide and code style guide, then start contributing (our recommendation is to start contributing to documentation first to understand the Neutralinojs framework as a user).
- Tell us about tasks that you would like to work on. If you have new ideas, mention them in community channels including your project goals.
- Start drafting a proposal by discussing with mentors.
- Submit your proposal and achieve the planned milestones based on the GSoC program schedule.
- Make sure to follow the above initial steps and become familiar with the project.
- Select a project idea out of the mentioned below
- If you have an idea of your own / want to initiate one , post its summary and goals in a new GitHub discussion thread.
- Wait until project maintainers give a feedback to the post (We can identify possible changes in the early stage).
- Start drafting your proposal based on the Neutralinojs GSoC contributor proposal outline.
Please create your GSoC proposal according to the following outline:
- Contact details (Name, Country, Email, GitHub username, Discord username, and a small description about yourself)
- Neutralinojs experience (Explain your familiarity with Neutralinojs)
- Contributions (Add links to your pull-requests, issues, and discussion threads)
- Project description (Describe the project idea)
- Goals (Summary of deliverables)
- Tasks Timeline (Divide your goals into tasks and map with the GSoC timeline)
- Future contributions (How do you plan to contribute to Neutralinojs in the future?)
We have listed down some crucial tasks below for you. But, feel free to discuss
your own ideas with us via Discord or email (neutralinojs[AT]gmail.com
) or creating a GitHub discussion thread. You can contribute Neutralinojs framework, CLI, client library and templates.
Thank you for contributing to open-source 🎉
Neutralinojs CLI generates platform-specific binaries for Linux, macOS, and Windows with a platform-independent resource file. Right now, Neutralinojs application developers need to use various tools to generate application installers (i.e.,: AppImage, NSIS) for each operating system. However, we have no plans to add application installer generation support to the official CLI to keep the CLI implementation minimal and less platform-dependent. Therefore, the Neutralinojs community has initiated a project called "Neutralinojs Builder" to generate application installers. The Neutralinojs builder project is still a POC and experimental, so the idea is to finalize the project based on the suggested technical specification finalized by the framework developers.
Skills required: Node.js, Neutralinojs, Application bundling on operating systems
Difficulty rating: Medium
Project size: ~350h
Mentors: TBA
- Creating a CLI plugin for the solution.
- Expose a new command to generate application packages.
# Installing the plugin
neu plugins --add neutralinojs-builder
# neu builder <target> <arch>
neu builder nsis --x64 # NSIS setup for Windows x64
neu builder deb --ia32 # Debian package for GNU/Linux ia32
neu builder appimage --x64 # AppImage for GNU/Linux x64
neu builder deb # GNU/Linux Debian packages for all supported CPU architectures
# Use configuration from neutralino.config.json
neu builder
# Removing the plugin
neu plugins --remove neutralinojs-builder
- If the developer run
neu builder
without any parameters, get the targets from the config file:
"cli": {
"builder": {
"linux": {
"targets": [
{
"target": "deb",
"arch": [
"x64",
"ia32",
"armhf"
]
}
]
},
"win": {
"targets": [
{
"target": "nsis",
"arch": [
"x64",
"ia32"
]
}
]
}
}
}
- Even though Neutralinojs provides x64 binaries officially, implement multi-architecture support.
- Implement package targets as internal plugins (Import only required modules based on targets). Try to use modules like
targets/deb.js
,targets/nsis.js
for dynamic loading.
We really appreciate your code contributions. Please read this contribution guide before sending a pull request. Thank you for your contributions.
Image created with contrib.rocks.