All features from the plan have been successfully implemented. Here's what's been created:
Updated Files:
- ✅
README.md- Updated with GitHub Projects Manager description and features - ✅
index.html- Updated SEO meta tags (title and description) - ✅
server/main.ts- Extended StateSchema withgithubTokenanddefaultOrganizationfields
Configuration Required from Users:
- GitHub Personal Access Token (classic) with scopes:
repo,project,read:org - Optional: Default organization name (e.g., 'deco-cx')
Updated Files:
- ✅
server/schema.ts- Added two new tables:tracked_repositories- Stores monitored GitHub repositoriestracked_projects- Stores monitored GitHub Projects V2
Next Step Required:
npm run db:generateThis will create the migration files for the new database tables.
Created Files:
- ✅
server/lib/github.ts- Complete GitHub API client with:- GraphQL query execution
- REST API request handling
- Rate limiting handling
- Helper methods for node ID resolution
- Comprehensive error handling
Projects V2 Tools (server/tools/projects.ts):
- ✅
LIST_GITHUB_PROJECTS- List all projects in an organization - ✅
GET_PROJECT_DETAILS- Get detailed project information - ✅
CREATE_PROJECT- Create a new Project V2 - ✅
UPDATE_PROJECT- Update project details - ✅
DELETE_PROJECT- Delete a project - ✅
LIST_PROJECT_ITEMS- List items in a project - ✅
ADD_ITEM_TO_PROJECT- Add issue/PR to project
Issues Tools (server/tools/issues.ts):
- ✅
LIST_ISSUES- List issues with filtering - ✅
GET_ISSUE- Get detailed issue information - ✅
CREATE_ISSUE- Create new issue - ✅
UPDATE_ISSUE- Update issue details - ✅
CLOSE_ISSUE- Close issue with reason - ✅
ADD_ISSUE_COMMENT- Add comment to issue - ✅
LIST_ISSUE_COMMENTS- List all comments on issue - ✅
ADD_LABELS_TO_ISSUE- Add labels to issue - ✅
REMOVE_LABELS_FROM_ISSUE- Remove labels from issue - ✅
ASSIGN_ISSUE- Assign users to issue - ✅
UNASSIGN_ISSUE- Remove assignees from issue
Tracking Tools (server/tools/tracking.ts):
- ✅
ADD_TRACKED_REPOSITORY- Add repository to tracking - ✅
LIST_TRACKED_REPOSITORIES- List tracked repositories - ✅
REMOVE_TRACKED_REPOSITORY- Remove/deactivate tracked repository - ✅
ADD_TRACKED_PROJECT- Add project to tracking - ✅
LIST_TRACKED_PROJECTS- List tracked projects - ✅
REMOVE_TRACKED_PROJECT- Remove/deactivate tracked project
Metadata Tools (server/tools/metadata.ts):
- ✅
GET_TOOL_METADATA- Get information about all available tools
Total: 25 MCP Tools
Tracking Manager (view/src/routes/tracking.tsx):
- ✅ Add/remove tracked repositories
- ✅ Add/remove tracked projects
- ✅ List all tracked items with status
- ✅ Fetch GitHub projects from organization
- ✅ Real-time updates with TanStack Query
Tools Inspector (view/src/routes/tools.tsx):
- ✅ List all available MCP tools
- ✅ Search and filter tools
- ✅ Category-based filtering
- ✅ Expandable tool details with schemas
- ✅ Syntax-highlighted JSON schemas
Home Page (view/src/routes/home.tsx):
- ✅ Landing page with feature overview
- ✅ Navigation to Tracking Manager and Tools Inspector
- ✅ Quick stats about available tools
- ✅ Modern, responsive design
TanStack Query Hooks (view/src/hooks/useTracking.ts):
- ✅
useTrackedRepositories- Query tracked repos - ✅
useAddRepository- Mutation to add repo - ✅
useRemoveRepository- Mutation to remove repo - ✅
useTrackedProjects- Query tracked projects - ✅
useAddProject- Mutation to add project - ✅
useRemoveProject- Mutation to remove project - ✅
useGitHubProjects- Query GitHub projects from org
Updated Files:
- ✅
server/views.ts- Configured two views:- Tracking Manager (bookmark icon)
- Tools Inspector (extension icon)
- ✅
view/src/main.tsx- Added routes to router tree
Note: View URLs point to https://github-projects.deco.page/*. Update these after deployment if you use a different app name.
- ✅ Deleted
server/tools/todos.ts(template file) - ✅ Updated
server/tools/index.tsto export new tool domains
npm run db:generatenpm run configureSet your app name (will determine deployment URL).
npm run dev- Server will start on
http://localhost:8787 - Test the UI at
/trackingand/toolsroutes - Note: Authentication requires deployment first
npm run deployThis will:
- Build the frontend
- Deploy to Cloudflare Workers
- Make the app available at
https://<your-app-name>.deco.page
If your deployment URL is different from github-projects.deco.page, update the URLs in server/views.ts.
- Go to admin.decocms.com
- Navigate to your workspace
- Install your deployed MCP app
- Provide your GitHub token during installation
- (Optional) Set default organization
- Full CRUD operations for GitHub Projects V2
- List and manage project items
- GraphQL-based implementation
- Complete issue lifecycle management
- Comments, labels, and assignees
- Advanced filtering and querying
- Database-backed monitoring
- Soft delete support
- Active/inactive status management
- Tool introspection and discovery
- Schema information for UI generation
Managing Projects:
"List all projects in deco-cx organization"
"Create a new project called 'Sprint 24' in deco-cx"
"Add issue #42 from deco/app to project XYZ"
Managing Issues:
"Create an issue in deco/app titled 'Fix login bug'"
"Close issue #123 as completed"
"Add comment to issue #456 saying 'This is fixed'"
"Assign issue #789 to user 'johndoe'"
Tracking:
"Add deco-cx/deco to tracked repositories"
"List all tracked projects"
"Remove repository with ID 5 from tracking"
- Backend: Cloudflare Workers + Deco Runtime
- Frontend: React + Vite + Tailwind CSS + shadcn/ui
- Database: SQLite (Cloudflare Durable Objects) + Drizzle ORM
- API: GitHub GraphQL API v4
- State Management: TanStack Query
- Routing: TanStack Router
- All tools use
createPrivateToolfor access control - GitHub token stored securely in app state
- Database operations use prepared statements
- Rate limiting handled automatically
- Full TypeScript coverage
- Zod schemas for input/output validation
- Auto-generated types from Drizzle schema
- Type-safe RPC calls between frontend and backend
- Verify your token has correct scopes:
repo,project,read:org - Check token hasn't expired
- Ensure you have access to the organization/repository
- Run
npm run db:generateafter schema changes - Migrations apply automatically on first use
- Check
server/drizzle/for migration files
- Deploy the app first (
npm run deploy) - Update URLs in
server/views.tsif needed - Reinstall the app in your deco workspace
Consider adding:
- Pull request management tools
- Milestone and release tools
- GitHub Actions workflow triggers
- Advanced analytics and reporting
- Webhook handlers for real-time updates
- Batch operations for multiple issues/PRs
Implementation Complete! 🎉
All planned features have been successfully implemented. Run npm run db:generate and npm run deploy to get started!