UNPKG

deepsource-mcp-server

Version:
166 lines (116 loc) 3.4 kB
# Implement GitHub Issue You are about to implement GitHub issue: $ARGUMENTS ## Implementation Workflow ### 1. Analyze the Issue ```bash gh issue view $ARGUMENTS ``` - Review the full issue description - If it contains Gherkin specs, parse acceptance criteria carefully - Identify non-goals and constraints - Note any technical requirements ### 2. Research Codebase - Search for relevant existing code - Identify files needing modification - Look for similar patterns to maintain consistency - Review existing tests for patterns ### 3. Plan Implementation Create a plan with: - Core functionality breakdown - Test strategy (unit + property-based) - Files to create/modify - Edge cases and risks ### 4. Create Feature Branch ```bash # Follow branch naming from CLAUDE.md git checkout -b <type>/<issue-number>-<description> # Example: feat/42-user-authentication ``` ### 5. Implement Solution - Follow patterns in CLAUDE.md (validation, testing, imports) - Write clean, focused functions - Add TypeScript types and Zod validation - Document public APIs with JSDoc ### 6. Write Tests Required test coverage: - **Unit tests** in `tests/*.spec.ts` - **Property-based tests** in `tests/*.property.spec.ts` for business logic - Test both success and failure cases - Verify edge cases ### 7. Verify Quality ```bash pnpm verify # Runs all checks ``` ### 8. Create Changeset **Changeset Guidance for Features:** ```bash # For bug fixes pnpm changeset # Select: patch # Message: "Fix: [brief description of what was fixed]" # For new features pnpm changeset # Select: minor # Message: "Add [feature name]: [brief description]" # For breaking changes pnpm changeset # Select: major # Message: "BREAKING: [what changed and migration required]" # For non-code changes (docs, tests, refactoring) pnpm changeset --empty # Message: "Internal: [what was changed]" ``` **Decision Guide:** - **patch**: Bug fixes, security patches, performance improvements - **minor**: New features, new APIs, significant enhancements - **major**: Breaking changes, API removals, incompatible updates - **--empty**: Documentation, tests, CI/CD, internal refactoring ### 9. Commit Changes ```bash git add . git commit -m "<type>: <description> <body-if-needed> Closes #<issue-number>" ``` ### 10. Create Pull Request ```bash git push -u origin <branch-name> gh pr create \ --title "<type>: <description>" \ --body "## Summary <what-and-why> ## Changes - <list-changes> ## Testing - <how-tested> Closes #<issue-number>" \ --assignee @me ``` ### 11. Monitor CI ```bash gh pr checks --watch ``` ### 12. Address Feedback - Respond to review comments - Make requested changes - Re-verify after changes ### 13. Merge PR ```bash # After approval and passing checks gh pr merge --squash --delete-branch ``` ## Key Points - **Follow coding standards** in CLAUDE.md - **Test thoroughly** - Unit + property-based tests required - **Use changesets** for version management - **Conventional commits** for clear history - **Quality first** - All checks must pass ## Success Checklist Before completing: - [ ] All acceptance criteria met - [ ] Tests comprehensive (unit + property) - [ ] `pnpm verify` passes - [ ] Documentation updated - [ ] Changeset created and up to date - [ ] PR reviewed and approved See CLAUDE.md for detailed patterns, troubleshooting, and coding standards.