| .forgejo | ||
| .github/workflows | ||
| .vscode | ||
| .woodpecker | ||
| packages | ||
| readme-assets | ||
| types | ||
| .gitattributes | ||
| .gitignore | ||
| .lintstagedrc | ||
| .nvmrc | ||
| CODE_OF_CONDUCT.md | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| LICENSE.md | ||
| LICENSE.non-packages | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| renovate.json5 | ||
| SECURITY.md | ||
| tsconfig.json | ||
AmpMod editor
This is the source code for the AmpMod editor. AmpMod (formerly UltiBlocks) is a powerful block-based programming language mainly focusing on adding more data types to Scratch, as well as dozens of quality-of-life changes.
View this repository on Codeberg or on GitHub.
To access the canary build which has the newest features at the cost of more bugs, see https://ampmod.codeberg.page/@canary
Included packages
The following packages are included in this monorepo:
| Package | Description |
|---|---|
gui |
The user interface used to run/create projects. |
vm |
The package that executes projects and loads extensions. |
blocks |
The package used for the drag-and-drop block interface. |
desktop |
The desktop app for AmpMod. |
paint |
The paint editor for creating costumes and backdrops. |
render-fonts |
A package that contains fonts used in projects. |
branding |
Branding data. See Forking. |
We have an NPM registry, but it's currently outdated. We hope to update it at some point to make depending on AmpMod's packages much easier.
Development
Please read CONTRIBUTING.md before you contribute. This might seem pointless, but it is very important so you don't end up submitting broken, vibe-coded snippets.
We use pnpm to manage dependencies. To install pnpm, run corepack enable (Node >= 18) or npm i -g pnpm (Node < 18).
Run pnpm i in the root directory to install all packages needed.
desktop's dependencies in particular may bloat your system. If you don't need to develop the desktop app, run pnpm --filter=!turbowarp-desktop i instead.
Forking
Here are some important recommendations for forks. Since AmpMod is free and open-source, we don't strictly require you to follow these. However, we recommend you do so.
- Change the branding of your mod. This is perhaps the most important change for a fork. Instead of modifying
packages/gui/src/lib/brand.js, you should modifypackages/branding/src/index.js. You will especially want to changeAPP_NAMEandAPP_SOURCE. - Create your own accent colour. We recommend using a colour from the Scratch category palette, or at least a colour
made to look like it. Some other accent colours like
rainbowandgreyalready exist; you can use those. - Please release your source code. Not doing so is illegal and violates the GPL/MPL. However, you are allowed to
use the files outside of
packagesand.woodpeckerin closed-source projects, as those are under 0BSD.
Licence
AmpMod is free software. See LICENSE.md for more information.