-
Notifications
You must be signed in to change notification settings - Fork 4
feat: add codebase context generation prompt with evidence-based analysis #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
iaminawe
wants to merge
48
commits into
main
Choose a base branch
from
add-reverse-engineer-codebase-prompt
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 12 commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
213053c
Remove title field from generate-spec prompt
iaminawe a645aa6
Remove title field from prompts and parser
iaminawe b285a82
Remove title field from test fixtures
iaminawe e795fe8
feat: add reverse-engineer-codebase prompt for contextual analysis
iaminawe e0471a5
refactor: rename reverse-engineer-codebase to generate-codebase-context
iaminawe 5f071b6
docs: add comprehensive research analysis for prompt improvements
iaminawe e8c27f6
feat: enhance generate-codebase-context with evidence citations and c…
iaminawe 754c5ea
docs: add comprehensive progress tracking and future roadmap
iaminawe 5a8cedf
docs: add research directory README with complete overview
iaminawe f5ce583
docs: add accurate PR description for new prompt creation
iaminawe 9fe9884
docs: emphasize NEW prompt creation in PR description
iaminawe 1ec8b01
refactor: reorganize documentation structure
iaminawe c19cfe2
fix: resolve pre-commit markdownlint issues
iaminawe 6fc25c6
chore: remove accidentally committed WARP.md session notes
iaminawe 27b548e
Merge branch 'main' into add-reverse-engineer-codebase-prompt
iaminawe 50061d7
fix: resolve pre-commit markdownlint issues
github-actions[bot] f387337
fix: resolve pre-commit issues after merge from main
iaminawe f3c2b1e
fix: convert emphasis to headings to resolve MD036 linting issues
github-actions[bot] 705f76d
feat: enhance generate-spec prompt with evidence-based approach
iaminawe 02ff6fb
feat: enhance generate-codebase-context with advanced analysis features
iaminawe f93790c
feat: add explicit 'What NOT to Do' section to generate-spec
iaminawe 098785a
refactor: condense generate-codebase-context prompt from 1264 to 930 …
iaminawe e432810
fix: add blank lines in code blocks for markdownlint compliance
iaminawe b6535ee
Merge branch 'main' into add-reverse-engineer-codebase-prompt
iaminawe d1274aa
feat: add comprehensive codebase context analysis for mcp-spec-driven
iaminawe 78db745
chore: update repository URLs to spec-driven-workflow
iaminawe 98ea2db
fix: update research doc paths and restore Phase 4 checkpoint
github-actions[bot] e0a8fda
fix: resolve markdown linting issues in claude-code-feature-dev-compa…
github-actions[bot] ba6f472
fix: add blank line and language specifier to code block in claude-co…
github-actions[bot] 059d75d
fix: apply markdownlint formatting fixes
iaminawe 1f8152d
fix: add Phase 5.5 to execution rules in generate-context prompt
github-actions[bot] f1119ae
docs: resolve CodeRabbit nitpick comments
github-actions[bot] a1c31ba
Merge branch 'main' into add-reverse-engineer-codebase-prompt
iaminawe c265968
fix: add blank line before list in research-synthesis.md
iaminawe 9565791
fix: convert emphasis to headings in generate-spec.md (MD036)
iaminawe 789bcd9
Merge branch 'main' into add-reverse-engineer-codebase-prompt
iaminawe 1b75ddd
chore: revert generate-spec to default from main
iaminawe 760ad8b
chore: remove progress.md for now
iaminawe 7995397
chore: remove reference to progress.md
iaminawe c45c7e0
Merge branch 'main' into generate-context-prompt
iaminawe ba75202
refactor: enhance generate-spec context assessment and remove researc…
iaminawe 2039200
docs: add generate-context prompt to workflow documentation
iaminawe 61b094b
fix: add blank line before list in README.md (markdownlint MD032)
iaminawe 9dbb526
chore: revert unrelated task file URL changes
iaminawe 42115f4
docs: clarify 00N-SYSTEM.md naming pattern with examples
iaminawe 9217cfd
docs: fix step numbering and artifact naming consistency in README
github-actions[bot] 4c1eb4d
fix: correct ordered list numbering for markdownlint compliance
iaminawe 332589f
fix: complete ordered list numbering fix in TLDR section
iaminawe File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,137 @@ | ||
| # WARP.md | ||
|
|
||
| This file provides guidance to WARP (warp.dev) when working with code in this repository. | ||
|
|
||
| ## Project Overview | ||
|
|
||
| This is a **Spec Driven Development (SDD) MCP** project that provides a ubiquitous framework for spec driven development using MCP (Model Context Protocol) technology. The framework consists of structured Markdown prompts and workflows that guide AI agents through specification creation, task list generation, and task management. | ||
|
|
||
| ## Development Environment | ||
|
|
||
| - **Python**: 3.12 (see `.python-version`) | ||
| - **Package Manager**: `uv` (modern Python package and project manager) | ||
| - **Dependencies**: FastMCP for building MCP servers and clients | ||
| - **Release Process**: Semantic Release via GitHub Actions (planned) | ||
|
|
||
| ## Common Development Commands | ||
|
|
||
| ### Environment Setup | ||
| ```bash | ||
| # Install dependencies | ||
| uv sync | ||
|
|
||
| # Activate virtual environment (if needed) | ||
| source .venv/bin/activate | ||
| ``` | ||
|
|
||
| ### Running the Application | ||
| ```bash | ||
| # Run the basic hello script | ||
| python hello.py | ||
|
|
||
| # Run with uv | ||
| uv run hello.py | ||
| ``` | ||
|
|
||
| ### Development Tools | ||
| ```bash | ||
| # Install development dependencies | ||
| uv sync --group dev | ||
|
|
||
| # Install pre-commit hooks (when available) | ||
| pre-commit install | ||
| ``` | ||
|
|
||
| ## Architecture and Structure | ||
|
|
||
| ### Core Framework Components | ||
|
|
||
| The project implements a **prompt-driven workflow system** with three main phases: | ||
|
|
||
| 1. **Specification Generation** (`prompts/generate-spec.md`) | ||
| - Guides creation of detailed feature specifications | ||
| - Uses structured questioning to gather requirements | ||
| - Outputs numbered specs in `/tasks/` directory as `[n]-spec-[feature-name].md` | ||
|
|
||
| 2. **Task List Generation** (`prompts/generate-task-list-from-spec.md`) | ||
| - Converts specifications into actionable task lists | ||
| - Creates demoable units of work with proof artifacts | ||
| - Outputs task files as `tasks-[spec-file-name].md` | ||
|
|
||
| 3. **Task Management** (`prompts/manage-tasks.md`) | ||
| - Provides guidelines for executing and tracking tasks | ||
| - Defines task states: `[ ]` (not started), `[~]` (in progress), `[x]` (completed) | ||
| - Enforces one-task-at-a-time completion protocol | ||
|
|
||
| ### Key Design Principles | ||
|
|
||
| - **Simple**: Transparent access to underlying tools and processes | ||
| - **Ubiquitous**: Works with any AI agent and model | ||
| - **Reliable**: Delivers consistent results through structured workflows | ||
| - **Flexible**: Compatible with existing workflows and tools | ||
| - **Scalable**: Handles projects of any size | ||
|
|
||
| ### Workflow States and Transitions | ||
|
|
||
| Tasks follow a strict progression: | ||
| - Parent tasks contain demoable units of work with demo criteria and proof artifacts | ||
| - Subtasks must be completed sequentially (one at a time) | ||
| - All subtasks must pass tests before parent task completion | ||
| - Each completed parent task requires a commit using conventional commit format | ||
|
|
||
| ## File Organization | ||
|
|
||
| ``` | ||
| / | ||
| ├── prompts/ # Core SDD workflow prompts | ||
| │ ├── generate-spec.md # Specification generation workflow | ||
| │ ├── generate-task-list-from-spec.md # Task list creation from specs | ||
| │ └── manage-tasks.md # Task execution and management guidelines | ||
| ├── tasks/ # Generated specs and task lists (created as needed) | ||
| │ ├── [n]-spec-[name].md # Feature specifications | ||
| │ └── tasks-[spec].md # Task lists derived from specs | ||
| ├── hello.py # Basic test script | ||
| ├── pyproject.toml # Python project configuration | ||
| ├── uv.lock # Dependency lock file | ||
| └── README.md # Project documentation | ||
| ``` | ||
iaminawe marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## Working with the SDD Framework | ||
|
|
||
| ### Generating a New Feature Spec | ||
|
|
||
| Reference the `prompts/generate-spec.md` workflow to create specifications. The process involves: | ||
| 1. Providing initial feature description | ||
| 2. Answering structured clarifying questions | ||
| 3. Generating spec with required sections (goals, user stories, requirements, etc.) | ||
| 4. Saving as `/tasks/[n]-spec-[feature-name].md` | ||
|
|
||
| ### Creating Task Lists from Specs | ||
|
|
||
| Use `prompts/generate-task-list-from-spec.md` to convert specs into actionable tasks: | ||
| 1. Analyze existing spec file | ||
| 2. Generate high-level parent tasks (demoable units) | ||
| 3. Break down into detailed subtasks | ||
| 4. Save as `/tasks/tasks-[spec-file-name].md` | ||
|
|
||
| ### Task Execution Protocol | ||
|
|
||
| Follow `prompts/manage-tasks.md` guidelines: | ||
| - Work on one subtask at a time | ||
| - Mark tasks in progress with `[~]` | ||
| - Complete full test suite before marking parent tasks complete | ||
| - Use conventional commits for completed parent tasks | ||
| - Update relevant files section as you work | ||
|
|
||
| ## Important Notes | ||
|
|
||
| - The `/tasks/` directory is created dynamically as specs and task lists are generated | ||
| - Each parent task must include **Demo Criteria** and **Proof Artifact(s)** - these are mandatory | ||
| - Task completion requires passing all tests and proper commit messages | ||
| - The framework is designed to work with any AI tool and model through MCP technology | ||
|
|
||
| ## Future Planned Features | ||
|
|
||
| - User-defined output formats (Markdown, Jira, GitHub issues) | ||
| - Customizable prompts for the SDD workflow | ||
| - Integration with project management tools via MCP | ||
coderabbitai[bot] marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.