Overview
TendSocial uses GitHub Projects (#2) for planning, tracking, and managing development work. This document outlines the workflow for creating issues, implementation plans, and moving work through the project pipeline.
Project Board Structure
GitHub Project #2 has the following columns:
- Backlog - Unplanned issues and ideas
- AI Imp Plan Needed - Issues requiring AI-generated implementation plans
- Review Imp Plan - Implementation plans awaiting approval
- Ready - Approved and ready for development
- In Progress - Actively being worked on
- Done - Completed and verified
Issue Creation Workflow
1. Create Issue
Create GitHub issues for:
- Bugs: Unexpected behavior or errors
- Features: New functionality or enhancements
- Documentation: Doc updates, missing guides
- Technical Debt: Code quality improvements
Issue Template:
markdown
## Description
[Clear description of the issue/feature]
## Expected Behavior
[What should happen]
## Current Behavior
[What actually happens - for bugs]
## Steps to Reproduce
[For bugs only]
## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 22. AI Implementation Planning
For complex features, use the AI agent workflow:
bash
# In conversation with AI agent:
/create_imp_plansWhat this does:
- Analyzes the issue
- Creates detailed implementation plan
- Posts plan as issue comment
- Updates issue status to "Review Imp Plan"
Implementation Plan Format:
- Overview and problem statement
- Proposed changes (file-by-file)
- Verification plan
- Testing strategy
3. Review and Approval
Review the implementation plan in GitHub:
- Comment with feedback/questions
- Request changes if needed
- Move to Ready when approved
4. Development
When starting work:
- Move issue to In Progress
- Create feature branch:
git checkout -b feature/issue-123-description - Implement changes following the plan
- Commit with references:
git commit -m "feat: add feature (#123)"
5. Pull Request
Create PR when ready for review:
- Reference issue in PR description:
Closes #123 - Include testing verification
- Request review from team
6. Completion
After PR merge:
- Move issue to Done
- Verify deployment
- Update related documentation
Issue Labels
Use labels for categorization:
Type:
bug- Something brokenfeature- New functionalitydocumentation- Doc updatestechnical-debt- Code quality
Priority:
high- Critical, blockingmedium- Important, not blockinglow- Nice to have
Area:
api- Backend changesapp- Frontend changesinfrastructure- DevOps/deploymentdatabase- Schema/migrations
Commit Message Convention
Follow Conventional Commits:
<type>(<scope>): <description>
[optional body]
[optional footer]Types:
feat: New featurefix: Bug fixdocs: Documentationrefactor: Code restructuringtest: Test additions/changeschore: Build/tooling changes
Examples:
feat(api): add Vercel AI Gateway integration (#42)
fix(app): resolve plan selection UUID issue (#54)
docs: update database schema for model renames
refactor(api): extract tenant isolation logicAI Agent Integration
Slash Commands
/create_imp_plans- Create implementation plans for issues needing them/start_todo- Start work on ready issues with approved plans/trigger-analytics-sync- Manual analytics sync trigger
Using the AI Agent
For Implementation Planning:
- Tag issue with "AI Imp Plan Needed" status
- Run
/create_imp_plansin agent conversation - AI creates plan and posts to issue
- Review and approve/request changes
For Implementation:
- Ensure issue has approved plan in "Ready" status
- Run
/start_todoin agent conversation - AI implements following the plan
- Review PR and verify
Branch Strategy
main- Production branch, protectedfeature/[issue]-[description]- Feature branchesfix/[issue]-[description]- Bug fix branchesdocs/[description]- Documentation updates
Review Process
PR Review Checklist:
- [ ] Code follows project conventions
- [ ] Tests pass (
pnpm test) - [ ] Build succeeds (
pnpm build) - [ ] Documentation updated
- [ ] No console errors
- [ ] Breaking changes documented
Related Documentation
- Documentation Standard: Guidelines for writing documentation
- Naming Conventions - Code naming rules