The open learn-to code community.
Solaris (formerly Polaris) is an open-source alternative to the mainstreme Scratch website that adds in more advance features such as Extentions and custom licensing. We hope to create this open platform to allow a more open approach to learning a programming language and to allow those who wish for a more advance Scratch platform to still have a great community to go with it.
We use the Angular.js commit formatting system. A helpful gist for information can be found here.. Please make sure that all of your commits match this format, as it makes it easier to keep on the same page with what's happening. Please remember to sign your commits with a GPG key as well :)
We are using Prettier to keep code uniform. Before commiting, make sure to run pnpm -w run format
to correct code formating issues.
Instead of the traditional npm
or yarn
packages, the Solaris project uses the awesome pnpm
package manager. There are a multitude of benefits and reasons why we use this package manager, but it all comes down to this: Solaris is being developed under a monorepo, and pnpm
has the most compatibility with such repositories, in addition to added speed and workspace dependencies. You can learn more about the pnpm
package manager here.
If you'd like to add a new feature, just fork a branch from the develop
branch.
Then, Once you're finshed building your feature, go ahead and make a pull request to merge back into develop
.
Your code will be reviewed by members of the community, and, with enough support, be merged into the develop
branch. This might not happen right away, especially if changes are requested by code reviewers.
If you have a bug you'd like the fix, you must first check for an open issue. If one does not exist, go ahead and create one, and wait for a community member to triage it and create a branch for accepting contributions. If one does exist, check for a traige and branch. From there, fork the branch for the issue and begin fixing it up. Once the issue is fixed, a staff member will merge the issue branch back into the appropriate branch, depending on the environment and urgency of the issue.
Every week on Monday, each branch is merged forward (provided no blockers have been made). This means that:
next -> main
develop -> next
(feature branches) -> develop
Branches may be merged off of this schedule if deemed necessary by the team.
Here's a little chart of what all the branches hold:
Branch | Use |
---|---|
main |
The stable, production branch. Cloudflare Pages deploys from this one. |
next |
The less-stable, testing branch. Cloudflare Pages deploys this branch to the beta url. |
develop |
The unstable, development branch. Cloudflare Pages does not deploy this branch to any public URLS. |
feat(x) , bug(x) , etc. |
Working copy branches for working on specific features. |
Package | Content |
---|---|
dyson | Frontend for Solaris, written with SvelteKit |
dynamo | Backend for Solaris, written with Express |
landing | Current landing page for the Solaris website, written with SvelteKit |
nebula | Project tools for Solaris, written with TypeScript |
solaris-types | Types for Solaris, written with TypeScript |