Skip to content

Conversation

@prosdev
Copy link
Collaborator

@prosdev prosdev commented Nov 25, 2025

Summary

Implements issue #29 by adding two new MCP adapters:

PlanAdapter ()

  • Generates implementation plans from GitHub issues
  • Breaks down issues into actionable tasks with time estimates
  • Supports semantic code search via ExplorerAgent
  • Lazy initialization for optimal startup performance
  • Configurable detail level (simple/detailed) and format (compact/verbose)

StatusAdapter ()

  • Provides repository and system status information
  • 5 sections: summary, repo, indexes, github, health
  • Compact and verbose output formats
  • Real-time stats on code/GitHub indexing

Key Features

  • ✅ Both adapters follow the framework patterns
  • ✅ Compact responses by default (token-efficient)
  • ✅ Comprehensive unit tests (>80% coverage)
  • ✅ Proper error handling with actionable suggestions
  • ✅ Full TypeScript type safety
  • ✅ Verified working in Cursor

Technical Changes

  • Fixed fetchGitHubIssue to accept repositoryPath parameter (resolves git directory issues)
  • Updated MCP server to handle date serialization
  • Added lazy initialization pattern for PlanAdapter dependencies
  • Enhanced MCP server content formatting

Testing

  • Unit tests for both adapters with mocked dependencies
  • Integration tested with Cursor MCP client
  • All pre-commit hooks passing (lint, typecheck)

Closes #29

- Default GitHub search to open issues (state: open, type: issue)
- Add explicit deduplication in search results using Set to track seen IDs
- Update command description to document default behavior
- Users can still override defaults with --state and --type flags

This improves UX by:
1. Eliminating need to specify 'open' in queries (defaults to open)
2. Fixing duplicate results bug where same issue appeared 3-5 times
3. Making search behavior more intuitive (90% of searches want open issues)

Tested:
- Default search returns only open issues
- No duplicate results
- Can override with --state closed or --type pull_request
- Add StatusAdapter with 5 sections (summary/repo/indexes/github/health)
- Add PlanAdapter with lazy initialization and GitHub issue breakdown
- Add comprehensive unit tests for both adapters (>80% coverage)
- Register both adapters in MCP server bin entry point
- Fix fetchGitHubIssue to accept repositoryPath parameter
- Update MCP server to handle date serialization and content formatting
- Verified working in Cursor with dev_plan and dev_status tools
@prosdev prosdev merged commit 296d324 into main Nov 25, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Plan + Status Adapters

1 participant