To maintain a consistent and organized repository, we follow these naming conventions for issues.
<type>[optional scope]: <description>- feat: New feature or enhancement
- fix: Bug fix
- docs: Documentation changes
- style: Code style/formatting changes that don't affect code functionality
- refactor: Code refactoring that doesn't change functionality
- perf: Performance improvements
- test: Adding or modifying tests
- chore: Maintenance tasks, dependency updates, etc.
- security: Security-related issues or fixes
The scope provides additional contextual information about which part of the codebase is affected:
- Can be a module name:
feat(cli): ... - Can be a component name:
fix(templates): ... - Can be a specific area:
docs(api): ... - Should be lowercase and use hyphens for multiple words:
feat(file-manager): ...
- Keep descriptions concise but clear (50-100 characters)
- Use imperative mood ("Add feature" not "Added feature")
- Lowercase first letter unless using proper nouns
- No period at the end
Standard format:
feat: add npm package publishing automationfix: resolve template generation error on Windowsdocs: update README with new CLI optionsrefactor: simplify configuration loading processperf: optimize file scanning for large directories
With scopes for better modularization:
feat(cli): add support for custom template pathsfix(templates): correct variable interpolation in TypeScript templatesdocs(api): update authentication documentationrefactor(utils): extract common path normalization logicperf(file-system): optimize directory scanning algorithmchore(deps): update dependency versionstest(commands): add unit tests for build command
In addition to the standardized titles, apply appropriate labels to categorize issues further:
- Priority labels:
priority:high,priority:medium,priority:low - Complexity labels:
complexity:easy,complexity:medium,complexity:hard - Status labels:
status:in-progress,status:blocked,status:needs-review - Other labels:
good-first-issue,help-wanted,discussion