Thanks for helping improve Papert Code.
- Open an issue (bug/feature/proposal) before large changes.
- Keep changes focused and scoped to one concern.
- Prefer small PRs over large mixed PRs.
- Link the PR to an issue.
- Explain what changed and why.
- Include tests for behavior changes.
- Update docs for user-facing changes.
- Ensure CI checks pass.
- Node.js
>=20 - npm
- Git
git clone https://github.com/azharlabs/papert-code.git
cd papert-code
npm installnpm run buildnpm startnpm run build:allnpm run testnpm run preflightnpm run test:e2eIntegration docs: docs/development/integration-tests.md
npm run lint
npm run format
npm run typecheckpackages/cli- Papert CLI (TUI, commands, runtime wiring)packages/core- core tools, model/runtime plumbingpackages/sdk-typescript- TypeScript SDKpackages/sdk-python- Python SDKpackages/desktop- desktop apppackages/admin-web- admin control planepackages/a2a-server- A2A integration serverdocs/- user and developer docs
- Match the style and conventions already used in the touched package.
- Keep diffs minimal and avoid unrelated refactors.
- Add tests near changed behavior.
- Use clear commit messages.
Papert supports macOS Seatbelt and container sandboxing.
- Enable container sandboxing with
PAPERT_SANDBOX=true|docker|podman. - Customize sandbox with
.papert/sandbox.Dockerfileand.papert/sandbox.bashrc.
See README.md and docs under docs/features/sandbox.md for details.
npm run debugDEV=true npm start
npx react-devtools@4.28.5For release/version tasks, use the scripts in root package.json.
Examples:
npm run release:version
npm run prepare:packageDo not commit secrets. Use local env files and GitHub Actions secrets for CI.
If you are unsure about design direction, open a draft PR early and ask for feedback.