chore: set up how we work: roles, skills, hooks, Go scaffold, CI, Renovate #14

Merged
deadstyle merged 2 commits from chore/project-setup into develop 2026-10-01 21:57:37 -05:00
Owner

Summary

Sets up how lazyforge gets built: roles, the ticket → composer → merge flow, project skills and hooks, a Go scaffold with CI, and Renovate onboarding. Also records the PM's install and update requirements in the design.

What's in it

  • CLAUDE.md: the PM owns product, Opus owns engineering decisions, Sonnet consults Opus, and Fable gives second opinions. Plan approval is the only PM gate. Agents merge their own MRs once review passes and CI is green.
  • Skills: product-voice (loaded every session), engineering-decision, go-development, comment-standard, ticket-workflow, ticket-kickoff (routes to composer / composer-lite / inline), ship-it.
  • Hooks: Go edits and commits are blocked until go-development (plus comment-standard for production Go) has been loaded, and there's a reminder to run ship-it after inline work. Hook test suite: 50 passed, 0 failed.
  • ADRs: 0001 Go + Charm; 0002 forge adapters, one host per session; 0003 roles and decision authority.
  • Scaffold: Go module, make check (format check, golangci-lint v2, race tests, build), .golangci.yml, CI on PRs and pushes to develop/main.
  • Renovate: renovate.json targeting develop, with opus/sonnet driver labels (validated: Config validated successfully).
  • design.md: install script and startup update check added to v1, plus two new open questions.

Verification

  • make check: 0 issues. from lint; tests pass (no test files yet); build ok.
  • golangci-lint config verify: ok.

Backlog

Tickets #1–#13 are filed: three spikes, the v1 features, release/install (#11), the update check (#12), and the product decisions that need the PM (#13).

Decisions

  • Opus: CI runs on ubuntu-latest (the instance-wide runners), not ci, which serves the kirria org.
  • Opus: agent MRs are squash-merged.
## Summary Sets up how lazyforge gets built: roles, the ticket → composer → merge flow, project skills and hooks, a Go scaffold with CI, and Renovate onboarding. Also records the PM's install and update requirements in the design. ## What's in it - **CLAUDE.md**: the PM owns product, Opus owns engineering decisions, Sonnet consults Opus, and Fable gives second opinions. Plan approval is the only PM gate. Agents merge their own MRs once review passes and CI is green. - **Skills**: `product-voice` (loaded every session), `engineering-decision`, `go-development`, `comment-standard`, `ticket-workflow`, `ticket-kickoff` (routes to composer / composer-lite / inline), `ship-it`. - **Hooks**: Go edits and commits are blocked until `go-development` (plus `comment-standard` for production Go) has been loaded, and there's a reminder to run ship-it after inline work. Hook test suite: `50 passed, 0 failed`. - **ADRs**: 0001 Go + Charm; 0002 forge adapters, one host per session; 0003 roles and decision authority. - **Scaffold**: Go module, `make check` (format check, golangci-lint v2, race tests, build), `.golangci.yml`, CI on PRs and pushes to develop/main. - **Renovate**: `renovate.json` targeting `develop`, with `opus`/`sonnet` driver labels (validated: `Config validated successfully`). - **design.md**: install script and startup update check added to v1, plus two new open questions. ## Verification - `make check`: `0 issues.` from lint; tests pass (no test files yet); build ok. - `golangci-lint config verify`: ok. ## Backlog Tickets #1–#13 are filed: three spikes, the v1 features, release/install (#11), the update check (#12), and the product decisions that need the PM (#13). ## Decisions - Opus: CI runs on `ubuntu-latest` (the instance-wide runners), not `ci`, which serves the kirria org. - Opus: agent MRs are squash-merged.
- CLAUDE.md: PM / Opus / Sonnet / Fable roles, ticket → composer delivery,
  repo facts for composer (fj, develop target, make targets)
- Skills: product-voice, engineering-decision, go-development,
  comment-standard, ticket-workflow, ticket-kickoff, ship-it
- Hooks: product-voice at session start; go-development + comment-standard
  gates on edit and commit; ship-it reminder for inline work (50 tests)
- ADRs 0001–0003: Go + Charm, forge adapters with one host per session,
  roles and decision authority
- Go module scaffold, Makefile (make check), golangci-lint v2 config
- Forgejo CI running make check on PRs and pushes to develop/main
- renovate.json targeting develop, with opus/sonnet driver labels

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs: install/update requirements; agents merge their own MRs
All checks were successful
ci / check (pull_request) Successful in 48s
86eeb50b2a
- design.md: install script and startup update check (PM requirement),
  two new open questions, added to v1 scope
- CLAUDE.md, ADR 0003, ship-it, ticket-workflow: plan approval is the
  only PM gate; agents merge into develop once review passes and CI is
  green (squash), never merging red

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
deadstyle merged commit 846a8dd40f into develop 2026-10-01 21:57:37 -05:00
deadstyle deleted branch chore/project-setup 2026-10-01 21:57:37 -05:00
Sign in to join this conversation.
No description provided.