Read AGENTS.md for project overview, architecture, build commands, conventions, and resource limits.
- NEVER use
git reset --hard— Only usegit reset --softto preserve changes. Hard reset destroys work.
Follow the global workflow from ~/.claude/CLAUDE.md:
- brainstormer -- use FIRST for new template features, element types, content providers, layout algorithms
- plan-writer -- create TDD implementation plan after design is approved
- csharp-pro -- for ALL C# code changes in
src/andtests/ - master-code-reviewer -- MANDATORY after any code changes
Use Explore agent for codebase navigation before making changes.
When reviewing code changes, verify:
- AOT safe -- no reflection, no
dynamic, noType.GetType(). UseGeneratedRegexfor regex - Classes are
sealedunless designed for inheritance - Null checks via
ArgumentNullException.ThrowIfNull()-- not manualif (x == null) - Resource limits preserved -- never remove or weaken
MaxFileSize,MaxNestingDepth,MaxRenderDepth - New element types follow the switch-based dispatch pattern (not base class properties)
- New YAML properties registered in
KnownProperties.csfor validation and typo suggestions - Tests using shared static state use
[Collection(..., DisableParallelization = true)] - XML docs on all public API surface
- Snapshot tests added/updated for visual changes (
UPDATE_SNAPSHOTS=true) - Wiki pages updated -- if code changes affect public API, element properties, YAML syntax, builder methods, or CLI options, update the corresponding
docs/wiki/pages