diff --git a/CLAUDE.md b/CLAUDE.md index 4fcfcda..657cb82 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -55,4 +55,17 @@ Instructions for Claude Code when working on this project. - Automatic editor theme synchronization with UI theme See `docs/dev-plan.md` for complete roadmap and technical details. -- when updating documentation, do not record intermediate changes - write them always as a matter-of-fact information \ No newline at end of file + +## Development Principles + +- **Iterative**: Each phase produces working, testable functionality +- **Lean**: No frameworks, no build step, minimal dependencies +- **Maintainable**: Clean code organization with logical separation of concerns +- **Simple**: Favor code removal over addition; avoid over-engineering + +## General coding instructions +Astrolabe is a project with minimalistic philosophy; it tries to avoid external dependencies and complexity, if possible. +This means that whatever new feature, refactor, or bug fix is being considered, the solution should not be over-engineered unless absolutely necessary. The importance and complexity of a feature defines allowed number of lines of code dedicated to it. +Pay attention to the existing code base style and approaches and try to adhere to the existing style instead of bringing your own vision. +When updating documentation, do not record intermediate changes - write them always as a matter-of-fact information. +When working on the code, if you notice any opportunities to better bring the project to the state above - bring this to user's attention and ask for approval to implement the suggested changes. diff --git a/project-docs/dev-plan.md b/project-docs/dev-plan.md index 98abe73..488bad5 100644 --- a/project-docs/dev-plan.md +++ b/project-docs/dev-plan.md @@ -410,14 +410,6 @@ Astrolabe is a focused tool for managing, editing, and previewing Vega-Lite visu └── storage-examples.md # Data model specifications ``` -## Development Principles - -- **Iterative**: Each phase produces working, testable functionality -- **Lean**: No frameworks, no build step, minimal dependencies -- **Data-first**: Storage schema designed upfront for extensibility -- **User-focused**: Auto-save, clear state, forgiving UX -- **Maintainable**: Clean code organization with logical separation of concerns -- **Simple**: Favor code removal over addition; avoid over-engineering ## Code Organization