This project is research-oriented and welcomes contributors. Keep changes focused and explain scope clearly in PRs.
- Fork the repo and create a feature branch.
- Run the existing frontend build/lint if your change touches the UI.
- Add or update documentation when you change behavior.
- Open a PR with a concise summary and testing notes.
Backend (from repo root):
source .venv/bin/activate
uvicorn backend.main:app --reload --port 8000Frontend:
cd frontend
npm run dev
npm run lint
npm run build- Define or extend the relevant Pydantic schema in
backend/models.py. - Add a new step in
backend/agents/orchestrator.py. - Ensure the agent’s output is merged into the Hardware IR.
- Update docs in
docs/agents.mdanddocs/architecture.md.
- Add a new rule function in
backend/validation.py. - Emit a structured
ValidationIssuewith severity and troubleshooting. - Re-run validation in the pipeline and update
docs/validation.md.
- Add new entries in
backend/seed_db.py. - Re-run
python3 backend/seed_db.pyto repopulate the database. - Ensure pin definitions are complete and typed (power/ground/digital/etc).
- Main UI:
frontend/app/page.tsx - Styling: Tailwind + custom CSS in
frontend/app/globals.css - Example IRs:
frontend/public/examples/