Enforces test-driven development with branch-based workflow, requiring unit tests, linting, and pull requests before merging to main.
This skill enforces a disciplined development workflow for the RockLingo project, emphasizing test-driven development, branch-based collaboration, and code quality standards.
Guides the AI agent through a structured development process that requires:
1. **Never commit directly to main branch**
- Always create a feature branch for new work
- Use descriptive branch names (e.g., `feature/add-user-auth`, `fix/login-bug`)
- Check current branch before making changes: `git branch`
2. **Creating feature branches**
- Before starting work: `git checkout -b feature/descriptive-name`
- Ensure you're on the correct branch throughout development
3. **All implementations must have unit tests**
- Write tests BEFORE implementing features when possible
- Place all test files in the `spec/` folder
- Test files should mirror the structure of implementation files
4. **When asked to create a spec**
- Create the test specification file in `spec/`
- DO NOT implement the actual feature yet
- Wait for explicit instruction to implement
5. **Run all tests before committing**
- Execute the full test suite: `npm test` or appropriate test command
- Ensure all tests pass
- Fix any failing tests before proceeding to commit
6. **Always lint before committing**
- Run the project's linter: `npm run lint` or appropriate lint command
- Fix all linting errors and warnings
- Ensure code follows project style guidelines
7. **Creating pull requests**
- After completing work on a branch, push to remote: `git push -u origin branch-name`
- Create a pull request to merge into main
- Include a clear description of changes in the PR
- Reference any related issues or specifications
8. **Implementation summaries**
- After completing a phase or specification, document your work
- Write a summary in an `IMPLEMENTATION` file (or append to existing)
- Include:
- What was implemented
- Test coverage added
- Any important decisions or tradeoffs
- Usage examples if applicable
```
1. User: "Add user authentication feature"
2. Agent: Creates feature branch: feature/user-authentication
3. Agent: Creates test spec in spec/auth.spec.js (does NOT implement yet)
4. User: "Go ahead and implement it"
5. Agent: Implements the authentication feature
6. Agent: Runs full test suite and ensures all tests pass
7. Agent: Runs linter and fixes any issues
8. Agent: Commits changes with descriptive message
9. Agent: Pushes branch and creates pull request
10. Agent: Updates IMPLEMENTATION file with summary
```
A task is complete when:
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/rocklingo-development-workflow/raw