- Write access to the repo
VSCE_PATandOVSX_PATsecrets configured in GitHub (for marketplace publishing)
All colors flow from palette.toml through the build system:
- VS Code theme: edit
templates/vscode/human-plus-plus.json.tmpl - Neovim colorscheme: edit
generate_neovim()intools/build.py - Landing page: edit
templates/site/index.html.tmpl - README: edit
templates/README.md.tmpl
Never edit files in dist/, packages/*/themes/, or packages/*/colors/ directly — they are overwritten by make build.
make buildThis regenerates all outputs from palette.toml and templates. Verify the changes look correct in your editor.
Edit CHANGELOG.md with the new version entry. Follow the existing format (Keep a Changelog style).
Update the version in pyproject.toml:
version = "X.Y.Z"The VS Code extension package.json version is updated automatically by the release workflow — do not update it manually.
git add -A
git commit -m "Add feature X, bump to vX.Y.Z"
git tag vX.Y.Z
git push origin main --tagsPushing the tag triggers .github/workflows/release.yml which:
- Updates
packages/vscode-extension/package.jsonversion from the tag - Runs
make buildto regenerate all outputs - Syncs changelog to the site template
- Builds and packages the VS Code extension (
.vsix) - Creates dist archives (
.tar.gz,.zip) - Publishes to VS Code Marketplace and Open VSX (Cursor)
- Creates a GitHub Release with all artifacts
- Auto-commits the synced package.json and site template back to main
| File | Updated by |
|---|---|
pyproject.toml |
Manual (before tagging) |
packages/vscode-extension/package.json |
Automated (release workflow) |
site/data/meta.json |
Automated (make build) |
palette.toml (source of truth)
|
v
tools/build.py
|
+-> dist/vscode/human-plus-plus.json (from templates/vscode/*.tmpl)
+-> packages/vscode-extension/themes/human-plus-plus.json (copy)
+-> packages/neovim-plugin/colors/humanplusplus.lua (generated)
+-> site/index.html (from templates/site/*.tmpl)
+-> dist/* (ghostty, tmux, bat, delta, eza, fzf, etc.)
+-> README.md (from templates/README.md.tmpl)