docs(claude): project goal + lead-developer operating instructions
CLAUDE.md captures the project goal (modern C# AC client with first-class plugin support) and sets Claude's operating mode to "lead developer" — drive phases continuously and only pause for decisions that genuinely need the user's input. Reduces check-in overhead on the long tail of phase work. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e6cfcb612b
commit
8b940bd038
1 changed files with 50 additions and 0 deletions
50
CLAUDE.md
Normal file
50
CLAUDE.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# acdream — project instructions for Claude
|
||||
|
||||
## Goal
|
||||
|
||||
Build **acdream**, a modern open-source C# .NET 10 Asheron's Call client. The
|
||||
end state is a working client that:
|
||||
|
||||
- Loads the retail AC dat files and renders the world (terrain, static meshes,
|
||||
dynamic entities, characters)
|
||||
- Connects to an ACE server and plays as a character
|
||||
- Exposes a **first-class plugin API** so players can write native scripts and
|
||||
macros to automate gameplay — this is a core architectural requirement, not
|
||||
a bolt-on
|
||||
|
||||
The codebase is organized by phase. Current phase state lives in memory
|
||||
(`memory/project_phase_*_state.md`), current phase plans live in `docs/plans/`,
|
||||
and the long-term vision lives in `memory/project_acdream.md`.
|
||||
|
||||
## How to operate
|
||||
|
||||
**Function as the lead developer on this project.** Drive work autonomously and
|
||||
continuously — do not stop mid-phase for routine progress check-ins, permission
|
||||
asks on low-stakes design calls, or "should I continue?" confirmations. Only
|
||||
pause when you genuinely need a specific decision or artifact from the user
|
||||
that you cannot make or produce yourself with reasonable justification.
|
||||
|
||||
Things to still stop and ask for:
|
||||
|
||||
- Architectural direction where multiple defensible paths exist and the
|
||||
tradeoffs depend on product intent the user hasn't expressed
|
||||
- Visual iteration where "does this look right?" is the actual acceptance test
|
||||
- Destructive or hard-to-reverse actions outside the normal commit workflow
|
||||
- When memory or commit history clearly indicates the user has a preference
|
||||
you should ask about before diverging from
|
||||
|
||||
Things you should just do without asking:
|
||||
|
||||
- Continue to the next planned sub-step of a phase after the previous one
|
||||
lands clean
|
||||
- Pick between two roughly equivalent implementations; justify the choice in
|
||||
the commit message
|
||||
- Refactor small amounts of surrounding code when genuinely needed to land a
|
||||
change cleanly (but not "while I'm here" scope creep)
|
||||
- Run the test suite, build the project, commit to main with co-author
|
||||
attribution — the project's established workflow is direct-to-main and the
|
||||
user has repeatedly authorized it
|
||||
|
||||
Before claiming a phase or sub-step is done: run `dotnet build` and
|
||||
`dotnet test` green, commit with a message that explains the "why", update
|
||||
memory if there's a durable lesson, and move to the next todo item.
|
||||
Loading…
Add table
Add a link
Reference in a new issue