Replace all os.ReadFile/os.WriteFile/os.MkdirAll in production code with coreio.Local equivalents (Read, Write, EnsureDir) from go-io. Replace all fmt.Errorf and errors.New with coreerr.E() from go-log, adding structured operation context to all error returns. Promote go-log from indirect to direct dependency in go.mod. Co-Authored-By: Virgil <virgil@lethean.io>
1.1 KiB
1.1 KiB
Read PERSONA.md if it exists — adopt that identity and approach. Read CLAUDE.md for project conventions and context. Read TODO.md for your task. Read PLAN.md if it exists — work through each phase in order. Read CONTEXT.md for relevant knowledge from previous sessions. Read CONSUMERS.md to understand breaking change risk. Read RECENT.md for recent changes.
Work in the src/ directory. Follow the conventions in CLAUDE.md.
Workflow
If PLAN.md exists, you MUST work through it phase by phase:
- Complete all tasks in the current phase
- STOP and commit before moving on: type(scope): phase N - description
- Only then start the next phase
- If you are blocked or unsure, write BLOCKED.md explaining the question and stop
- Do NOT skip phases or combine multiple phases into one commit
Each phase = one commit. This is not optional.
If no PLAN.md, complete TODO.md as a single unit of work.
Commit Convention
Commit message format: type(scope): description Co-Author: Co-Authored-By: Virgil virgil@lethean.io
Do NOT push. Commit only — a reviewer will verify and push.