Skip to the content.

Developing the Hub

This page is for people changing the repository. End users should start at Getting started.

Setup

Follow CONTRIBUTING.md:

make install
make serve          # http://127.0.0.1:8765
make test
make lint
make check-secrets

Python 3.12 or newer via uv. Node.js 22+ for the UI build only. Package map and data flow: Architecture.

Product rules

Runtime notes for coding agents: AGENTS.md. Speckit constitution and templates stay in local .specify/ (gitignored, not published).

Feature loop

Default driver: /speckit-loop plus uv run pch-lab loop start|next|record|status.

specify → freeze bar → plan → Gauntlet critics → tasks → analyze → implement → tests

CLI: pch-lab loop. Do not commit unless the person asked.

Tests that encode policy

Marker / target What it guards
make test Default pytest suite
pytest -m forbidden_context Grant isolation (SC-003)
pytest -m perf Search/scale (SC-009)
pytest -m e2e Playwright UI journeys
pytest -m connectors Google Calendar/Gmail (mocked transports)
pytest -m plugins Plugin host, kit, marketplace
pch smoke Packaged health, SPA, setup, search, pair, grant, manifest

New grant or assembly behavior must extend forbidden_context coverage. Tests for a success criterion must fail before the code that is supposed to satisfy it.

Docs hygiene

If you change routes, MCP tools, CLI flags, schema, or security defaults, update docs/ and run make openapi when the REST surface moved.