Thank you for your interest in contributing to ClawTrace.
- Fork the repository and create your branch from
main. - Set up your local environment following the instructions in the relevant package README or the root
CLAUDE.md. - Make your changes, add tests where applicable, and ensure existing tests pass.
- Open a pull request against
main.
clawtrace/
├── packages/clawtrace-ui/ Next.js 15 frontend
├── services/clawtrace-backend/ FastAPI backend
├── services/clawtrace-ingest/ FastAPI ingest service
├── services/clawtrace-payment/ FastAPI billing service
├── plugins/clawtrace/ @epsilla/clawtrace npm plugin
├── sql/databricks/ Lakeflow SQL pipeline
└── puppygraph/ PuppyGraph schema
cd packages/clawtrace-ui
npm install
npm run dev
npm run typecheckcd plugins/clawtrace
npm install
npm run check
npm testcd services/<service-name>
python -m venv .venv && source .venv/bin/activate
pip install -r requirements-dev.txt
cp .env.example .env # fill in values
uvicorn app.main:app --reload
pytest -q- Keep PRs focused on a single concern.
- Include a clear description of what the change does and why.
- Reference any related issues with
Fixes #<issue>orRelates to #<issue>. - All CI checks must pass before merge.
- TypeScript/React: follow the design system in
docs/design-specs/. No bold text (font-weight > 550) in UI components. - Python: follow PEP 8. Use Pydantic Settings for configuration, never hard-code secrets.
- SQL: new silver tables belong in
sql/databricks/silver_tables/and must be added to the Lakeflow pipeline in order.
Please use the bug report template.
Do not open a public issue. See SECURITY.md.
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.