You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Skills as agents**: each skill is a self-contained folder with workflow definitions, mounted into containers
49
49
-**SSE passthrough**: backend relays container output to frontend (no AI response generation in backend)
50
+
-**Stream-json protocol**: containers emit NDJSON with 5 event types: `system` (init/retry), `assistant` (one event per content block — thinking/text/tool_use), `user` (tool_result), `result` (session end + metadata), `rate_limit_event`. The `result.result` field duplicates the last assistant text — only display assistant events, use result for status only. No `--include-partial-messages` flag, so no `stream_event` deltas.
50
51
-**API prefix**: all routes under `/api/v1`
51
52
-**Admin panel**: SQLAdmin at `/admin`, configured in `admin/views.py`
52
53
@@ -87,6 +88,7 @@ Required `.env` at repo root (see docker-compose.yml):
87
88
## Gotchas
88
89
89
90
- Always run `make lint` before pushing — ruff + eslint must pass
91
+
-**Debug SSE pipeline**: `claude -p "prompt" --output-format stream-json --verbose 2>/dev/null` captures raw stream-json to validate event parsing
90
92
- DB migrations: `make migrate` inside Docker, or `cd apps/api && uv run alembic upgrade head` locally
91
93
- Test conftest **must** set env vars before importing from `helprs.*`
92
94
-**Agent-readiness**: This repo must be fully understandable by a fresh Claude Code instance with no prior context. Keep docs and CLAUDE.md accurate.
0 commit comments