packages/code-storage-typescript/: TypeScript/JavaScript SDK (src/,tests/, build output indist/).packages/code-storage-python/: Python SDK (pierre_storage/,tests/, scripts inscripts/, localvenv/and build output indist/).packages/code-storage-go/: Go SDK (package sources and*_test.gofiles)..moon/and per-packagemoon.yml: workspace task definitions.
- TypeScript (from repo root):
pnpm --filter @pierre/storage buildbuildsdist/with tsup.pnpm --filter @pierre/storage exec vitest --runruns unit tests.pnpm --filter @pierre/storage run devstarts watch builds.
- Python (from
packages/code-storage-python/):bash scripts/setup.shcreatesvenv/and installs dev deps../venv/bin/pytest -vruns tests../venv/bin/ruff check pierre_storagelints;./venv/bin/ruff format pierre_storageformats.
- Go (from
packages/code-storage-go/):go test ./...runs unit tests.
- Optional Moon tasks (repo root):
moon run code-storage-typescript:buildmoon run git-storage-sdk-python:testmoon run git-storage-sdk-go:test
- TypeScript: follow existing
src/style; usecamelCasevariables andPascalCasetypes/classes. - Python: type hints for public APIs, Google-style docstrings, Ruff formatting
(
line-length 100). - Go: run
gofmt; keep idiomatic error handling and*_test.gonaming.
- TypeScript: Vitest; tests in
tests/*.test.ts.tests/full-workflow.jsis an integration smoke test and requires real credentials. - Python: pytest; tests in
tests/test_*.pywith coverage options inpyproject.toml. - Go:
go testacross the module.
- Git history shows short, informal subjects and no strict convention. Prefer
clear, imperative summaries (e.g.,
python: tighten webhook parsing). - PRs should include a behavior summary, test evidence (commands + results), and notes on any required credentials or environment setup. Update docs when public API shapes change.
- Never commit private keys or API tokens. Use local files or environment variables for SDK credentials.
- Keep package-level docs (for example,
packages/code-storage-typescript/AGENTS.md) in sync with code changes.