generated from coulomb/repo-seed
W1: Document user-scope MCP config location in ~/.claude/CLAUDE.md —
adds verification and re-registration commands, warns against
settings.json (saves ~12K tokens per registration session).
W2: scripts/register_project.sh + make register-project —
5-step automation: API health → topic lookup → MCP check →
CLAUDE.md from template → progress event.
W3: state-hub/scripts/project_claude_md.template —
parameterised CLAUDE.md with {PROJECT_NAME}/{DOMAIN}/{TOPIC_ID}
placeholders; used by register_project.sh.
W4: Add custodian_topic_id + domain to all 6 canon project charters —
lets agents grep for topic IDs without touching the API.
W5: state-hub/mcp_server/TOOLS.md — compact 30-line tool reference
card; replaces reading the full server.py (~350 lines).
W6: Switch .mcp.json to absolute path + PYTHONPATH env so cwd is not
required; add scripts/patch_mcp_cwd.py for post-registration fix.
Update ~/.claude.json to match (cwd kept for belt-and-suspenders).
W7 (SessionStart hook) deferred: no SessionStart hook type in Claude
Code; PreToolUse with empty matcher fires before every tool call.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
42 lines
992 B
Makefile
42 lines
992 B
Makefile
.PHONY: install db db-tools migrate seed api dashboard check start clean register-project
|
|
|
|
COMPOSE = docker compose -f infra/docker-compose.yml --env-file .env
|
|
|
|
install:
|
|
uv sync
|
|
|
|
db:
|
|
$(COMPOSE) up -d postgres
|
|
|
|
db-tools:
|
|
$(COMPOSE) --profile tools up -d
|
|
|
|
migrate:
|
|
uv run alembic upgrade head
|
|
|
|
seed:
|
|
uv run python scripts/seed.py
|
|
|
|
api:
|
|
uv run uvicorn api.main:app --reload --host 127.0.0.1 --port 8000
|
|
|
|
dashboard:
|
|
cd dashboard && npm run dev
|
|
|
|
check:
|
|
curl -sf http://127.0.0.1:8000/state/health | python3 -m json.tool
|
|
|
|
start: db
|
|
sleep 3
|
|
$(MAKE) migrate
|
|
$(MAKE) api
|
|
|
|
## Register a project: make register-project DOMAIN=railiance PROJECT_PATH=/home/worsch/railiance
|
|
register-project:
|
|
@test -n "$(DOMAIN)" || (echo "ERROR: DOMAIN is required. Usage: make register-project DOMAIN=<domain> PROJECT_PATH=<path>"; exit 1)
|
|
@test -n "$(PROJECT_PATH)" || (echo "ERROR: PROJECT_PATH is required."; exit 1)
|
|
scripts/register_project.sh "$(DOMAIN)" "$(PROJECT_PATH)"
|
|
|
|
clean:
|
|
$(COMPOSE) down -v
|