docs: add skills wiring and current-build-state to CLAUDE.md
Tells an agent to wire skills via `task skills` (gitignored symlinks, never committed) and which skills matter for Tapir; documents the scaffolded-and-RED state with the first build task spelled out; flags the unverified setup items (Go version, brain-mcp URL, secret-ref naming, model alias) to resolve against the live cluster.
This commit is contained in:
@@ -19,8 +19,8 @@ docs it indexes.
|
||||
commit. Every commit deployable. No feature branches or PRs for solo/agent work — the only
|
||||
exception is a short-lived `agent/<desc>` branch when another agent is *simultaneously*
|
||||
active on this repo, merged within the same session.
|
||||
- **Run the quality gate before every push.** `task check` (once a Taskfile exists). CI is the
|
||||
gate, not branch protection — do not enable branch protection on this repo.
|
||||
- **Run the quality gate before every push.** `task check`. CI is the gate, not branch
|
||||
protection — do not enable branch protection on this repo.
|
||||
- **Conventional commits.** `feat:`, `fix:`, `chore:`, `docs:`, `refactor:`. Subject line says
|
||||
what; body says why.
|
||||
- **Language is Go (ADR-001).** Do not introduce Python or a second language. If you think you
|
||||
@@ -63,6 +63,40 @@ These caused real mistakes that were caught and corrected; the corrections are l
|
||||
- **BDD.** The `docs/use-cases/*.feature` files are the behavior spec. New behavior gets a
|
||||
scenario; the use-case core is tested through fake adapters, not live YouTube/brain.
|
||||
|
||||
## Skills (engineering discipline)
|
||||
|
||||
Skills live in the canonical library `mathias/skills` and are wired into this repo as
|
||||
**gitignored symlinks** — do not commit them, do not add a skills manifest to this repo.
|
||||
|
||||
- **Install/refresh:** `task skills` (or `curl -fsSL https://gitea.d-ma.be/mathias/skills/raw/branch/main/install.sh | bash`). Idempotent.
|
||||
- **Most relevant skills for Tapir work:**
|
||||
- `tdd`, `atdd`, `test-design` — the build is test-first; the `.feature` files are the ATDD spec.
|
||||
- `clean-code`, `solid` — the ports-and-adapters structure depends on these.
|
||||
- `gitea-ci` — for the CI workflow (and its act_runner gotchas) and the TBD section.
|
||||
- `debug` — when `task check` goes red for a non-obvious reason.
|
||||
- Reviewer-side: `code-review`, `refactoring`, `cognitive-load`.
|
||||
- Session close: `session-retrospective` (surface learnings into brain before context is lost).
|
||||
|
||||
## Current build state (start here for the first task)
|
||||
|
||||
The repo is **scaffolded and intentionally RED**:
|
||||
|
||||
- Clean Architecture skeleton exists: `internal/domain` (entities), `internal/ports`
|
||||
(interfaces), `internal/usecase` (engine), `cmd/tapir` (entrypoint stub),
|
||||
`internal/adapters` (empty — concrete adapters go here).
|
||||
- `usecase.Engine.ProcessNewVideo` returns `ErrNotImplemented`.
|
||||
- `test/acceptance/summarize_new_video_test.go` translates the first two Gherkin scenarios and
|
||||
**fails** against the stub. `task check` is therefore red on `test`.
|
||||
- **First build task:** implement `ProcessNewVideo` (resolve transcript -> summarize -> deliver to
|
||||
sinks | skip on no-transcript) to make the acceptance tests green, following the `.feature`
|
||||
files. Then add the AI-router `Summarizer` (copy `llm` per ADR-004), the YouTube `VideoSource`
|
||||
adapter (captions-first), and the store + brain sinks.
|
||||
|
||||
**Unverified setup items** (see `docs/homelab-integration.md`, marked `confirm`): the Go version
|
||||
in `go.mod` (1.23 — match the koala runner; estate elsewhere uses 1.26.1), the brain-mcp URL, the
|
||||
exact ESO secret-ref naming, and the summarization model alias. Resolve against the live cluster
|
||||
before depending on them, and pin answers back into `docs/homelab-integration.md`.
|
||||
|
||||
## Provenance (where this design came from)
|
||||
|
||||
- The reuse decisions came from **Spike S5**, recorded at
|
||||
|
||||
Reference in New Issue
Block a user