Your first project
This walks the full loop: create, work, publish, and get it back on another machine. It is the loop PolyForge exists for.
1. Scaffold
Section titled “1. Scaffold”polyforge create Python wall-extractionThis creates Workspace/Python/wall-extraction/ from the built-in starters.
2. Work in it
Section titled “2. Work in it”cd Workspace/Python/wall-extractionThe toolchain is already resolved here: the conf.d fragments cascade down from
the workspace root, and Workspace/Python/mise.toml can override versions or
add tasks for Python specifically.
If a tool is declared but not installed yet:
polyforge install3. Publish it
Section titled “3. Publish it”Once it is worth keeping, give it its own repository:
polyforge publishRun from inside the project directory. This:
- creates the GitHub repository (via
gh, so you must be logged in), - pushes the project,
- writes an entry into
polyforge.registry.toml:
[portfolio.wall-extraction]repo = "git@github.com:youruser/wall-extraction.git"lang = "Python"Commit that registry change to the PolyForge repository. The registry is the map — without it, a fresh clone does not know your project exists.
4. Restore it anywhere
Section titled “4. Restore it anywhere”On a new machine, after cloning PolyForge and running activate:
polyforge get all # every registered projectpolyforge get wall-extraction # or just this oneget needs only git — no GitHub CLI. If the project already exists locally,
get runs git pull instead of cloning.
The whole loop
Section titled “The whole loop”polyforge create LANG NAME— scaffold- Work, commit locally
polyforge publish— own repo + registry entry- Commit
polyforge.registry.toml - On any machine:
polyforge get all
Why the project is not in the PolyForge repo
Section titled “Why the project is not in the PolyForge repo”Workspace/*/*/ is git-ignored. The tooling repository holds configuration and
scaffolding only, so cloning it on a new machine never drags years of code with
it. Read the reasoning in
content separation.
- Learning tracks — the same loop, for practice
- Template library — reusable skeletons of your own