- Write plan with success criteria for each phase to be checked off. Include project scaffolding, including .gitignore, and rigorous unit testing where applicable.
- Execute the plan ensuring all criteria are met
- Run thorough automated checks appropriate for this repository (for example, unit tests, problem-specific sample tests, and any available integration or end-to-end tests), fixing defects
- Only complete when the implementation meets the requirements and all relevant tests pass
- Use idiomatic approaches and library versions compatible with this repository's documented toolchains and constraints (for example, C++17 for C++ code)
- Keep it simple - NEVER over-engineer, ALWAYS simplify, NO unnecessary defensive programming. No extra features - focus on simplicity.
- Be concise. Keep README minimal. IMPORTANT: no emojis ever
- For every task, first create a new Issue, then create the related branch, and finally open the related PR.
- Use best practices for commit messages. Every commit message should follow this regex:
^(?:fix|chore|docs|feat|refactor|style|test)(?:\(.+\)): [A-Z].+(?:\s#\d+)?$ - Always use one of the commit type keywords (
fix,chore,docs,feat,refactor,style,test) with an explicit scope in thetype(scope): Messageformat (for example,feat(api): Add new endpoint).