Skip to content

Commit b2fc4ad

Browse files
committed
Merge branch 'main' into feat/git-intent-vscode
2 parents 369451e + 691603e commit b2fc4ad

22 files changed

+2653
-2
lines changed

.cursor/mcp.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"mcpServers": {
3+
"task-master-ai": {
4+
"command": "npx",
5+
"args": ["-y", "--package=task-master-ai", "task-master-ai"],
6+
"env": {
7+
"OPENROUTER_API_KEY": "OPENROUTER_API_KEY_HERE"
8+
}
9+
}
10+
}
11+
}

.cursor/rules/cursor_rules.mdc

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
description: Guidelines for creating and maintaining Cursor rules to ensure consistency and effectiveness.
3+
globs: .cursor/rules/*.mdc
4+
alwaysApply: true
5+
---
6+
7+
- **Required Rule Structure:**
8+
```markdown
9+
---
10+
description: Clear, one-line description of what the rule enforces
11+
globs: path/to/files/*.ext, other/path/**/*
12+
alwaysApply: boolean
13+
---
14+
15+
- **Main Points in Bold**
16+
- Sub-points with details
17+
- Examples and explanations
18+
```
19+
20+
- **File References:**
21+
- Use `[filename](mdc:path/to/file)` ([filename](mdc:filename)) to reference files
22+
- Example: [prisma.mdc](mdc:.cursor/rules/prisma.mdc) for rule references
23+
- Example: [schema.prisma](mdc:prisma/schema.prisma) for code references
24+
25+
- **Code Examples:**
26+
- Use language-specific code blocks
27+
```typescript
28+
// ✅ DO: Show good examples
29+
const goodExample = true;
30+
31+
// ❌ DON'T: Show anti-patterns
32+
const badExample = false;
33+
```
34+
35+
- **Rule Content Guidelines:**
36+
- Start with high-level overview
37+
- Include specific, actionable requirements
38+
- Show examples of correct implementation
39+
- Reference existing code when possible
40+
- Keep rules DRY by referencing other rules
41+
42+
- **Rule Maintenance:**
43+
- Update rules when new patterns emerge
44+
- Add examples from actual codebase
45+
- Remove outdated patterns
46+
- Cross-reference related rules
47+
48+
- **Best Practices:**
49+
- Use bullet points for clarity
50+
- Keep descriptions concise
51+
- Include both DO and DON'T examples
52+
- Reference actual code over theoretical examples
53+
- Use consistent formatting across rules

.cursor/rules/dev_workflow.mdc

Lines changed: 219 additions & 0 deletions
Large diffs are not rendered by default.

.cursor/rules/self_improve.mdc

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
description: Guidelines for continuously improving Cursor rules based on emerging code patterns and best practices.
3+
globs: **/*
4+
alwaysApply: true
5+
---
6+
7+
- **Rule Improvement Triggers:**
8+
- New code patterns not covered by existing rules
9+
- Repeated similar implementations across files
10+
- Common error patterns that could be prevented
11+
- New libraries or tools being used consistently
12+
- Emerging best practices in the codebase
13+
14+
- **Analysis Process:**
15+
- Compare new code with existing rules
16+
- Identify patterns that should be standardized
17+
- Look for references to external documentation
18+
- Check for consistent error handling patterns
19+
- Monitor test patterns and coverage
20+
21+
- **Rule Updates:**
22+
- **Add New Rules When:**
23+
- A new technology/pattern is used in 3+ files
24+
- Common bugs could be prevented by a rule
25+
- Code reviews repeatedly mention the same feedback
26+
- New security or performance patterns emerge
27+
28+
- **Modify Existing Rules When:**
29+
- Better examples exist in the codebase
30+
- Additional edge cases are discovered
31+
- Related rules have been updated
32+
- Implementation details have changed
33+
34+
- **Example Pattern Recognition:**
35+
```typescript
36+
// If you see repeated patterns like:
37+
const data = await prisma.user.findMany({
38+
select: { id: true, email: true },
39+
where: { status: 'ACTIVE' }
40+
});
41+
42+
// Consider adding to [prisma.mdc](mdc:.cursor/rules/prisma.mdc):
43+
// - Standard select fields
44+
// - Common where conditions
45+
// - Performance optimization patterns
46+
```
47+
48+
- **Rule Quality Checks:**
49+
- Rules should be actionable and specific
50+
- Examples should come from actual code
51+
- References should be up to date
52+
- Patterns should be consistently enforced
53+
54+
- **Continuous Improvement:**
55+
- Monitor code review comments
56+
- Track common development questions
57+
- Update rules after major refactors
58+
- Add links to relevant documentation
59+
- Cross-reference related rules
60+
61+
- **Rule Deprecation:**
62+
- Mark outdated patterns as deprecated
63+
- Remove rules that no longer apply
64+
- Update references to deprecated rules
65+
- Document migration paths for old patterns
66+
67+
- **Documentation Updates:**
68+
- Keep examples synchronized with code
69+
- Update references to external docs
70+
- Maintain links between related rules
71+
- Document breaking changes
72+
Follow [cursor_rules.mdc](mdc:.cursor/rules/cursor_rules.mdc) for proper rule formatting and structure.

.cursor/rules/taskmaster.mdc

Lines changed: 382 additions & 0 deletions
Large diffs are not rendered by default.

.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# API Keys (Required to enable respective provider)
2+
OPENROUTER_API_KEY=your_openrouter_api_key_here

.github/workflows/binary-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6666
run: |
6767
VERSION="${{ steps.get_version.outputs.version }}"
68-
gh release upload v$VERSION packages/cli/build/git-intent-$VERSION-darwin-amd64.tar.gz
68+
gh release upload git-intent@$VERSION packages/cli/build/git-intent-$VERSION-darwin-amd64.tar.gz
6969
7070
- name: Trigger Homebrew Update
7171
uses: peter-evans/repository-dispatch@v3

.gitignore

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,30 @@ build
22
dist
33
node_modules
44

5-
.turbo
5+
.turbo
6+
7+
# Added by Claude Task Master
8+
# Logs
9+
logs
10+
*.log
11+
npm-debug.log*
12+
yarn-debug.log*
13+
yarn-error.log*
14+
dev-debug.log
15+
# Dependency directories
16+
node_modules/
17+
# Environment variables
18+
.env
19+
# Editor directories and files
20+
.idea
21+
.vscode
22+
*.suo
23+
*.ntvs*
24+
*.njsproj
25+
*.sln
26+
*.sw?
27+
# OS specific
28+
.DS_Store
29+
# Task files
30+
tasks.json
31+
tasks/

.roo/rules-architect/architect-rules

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
**Core Directives & Agentivity:**
2+
# 1. Adhere strictly to the rules defined below.
3+
# 2. Use tools sequentially, one per message. Adhere strictly to the rules defined below.
4+
# 3. CRITICAL: ALWAYS wait for user confirmation of success after EACH tool use before proceeding. Do not assume success.
5+
# 4. Operate iteratively: Analyze task -> Plan steps -> Execute steps one by one.
6+
# 5. Use <thinking> tags for *internal* analysis before tool use (context, tool choice, required params).
7+
# 6. **DO NOT DISPLAY XML TOOL TAGS IN THE OUTPUT.**
8+
# 7. **DO NOT DISPLAY YOUR THINKING IN THE OUTPUT.**
9+
10+
**Architectural Design & Planning Role (Delegated Tasks):**
11+
12+
Your primary role when activated via `new_task` by the Boomerang orchestrator is to perform specific architectural, design, or planning tasks, focusing on the instructions provided in the delegation message and referencing the relevant `taskmaster-ai` task ID.
13+
14+
1. **Analyze Delegated Task:** Carefully examine the `message` provided by Boomerang. This message contains the specific task scope, context (including the `taskmaster-ai` task ID), and constraints.
15+
2. **Information Gathering (As Needed):** Use analysis tools to fulfill the task:
16+
* `list_files`: Understand project structure.
17+
* `read_file`: Examine specific code, configuration, or documentation files relevant to the architectural task.
18+
* `list_code_definition_names`: Analyze code structure and relationships.
19+
* `use_mcp_tool` (taskmaster-ai): Use `get_task` or `analyze_project_complexity` *only if explicitly instructed* by Boomerang in the delegation message to gather further context beyond what was provided.
20+
3. **Task Execution (Design & Planning):** Focus *exclusively* on the delegated architectural task, which may involve:
21+
* Designing system architecture, component interactions, or data models.
22+
* Planning implementation steps or identifying necessary subtasks (to be reported back).
23+
* Analyzing technical feasibility, complexity, or potential risks.
24+
* Defining interfaces, APIs, or data contracts.
25+
* Reviewing existing code/architecture against requirements or best practices.
26+
4. **Reporting Completion:** Signal completion using `attempt_completion`. Provide a concise yet thorough summary of the outcome in the `result` parameter. This summary is **crucial** for Boomerang to update `taskmaster-ai`. Include:
27+
* Summary of design decisions, plans created, analysis performed, or subtasks identified.
28+
* Any relevant artifacts produced (e.g., diagrams described, markdown files written - if applicable and instructed).
29+
* Completion status (success, failure, needs review).
30+
* Any significant findings, potential issues, or context gathered relevant to the next steps.
31+
5. **Handling Issues:**
32+
* **Complexity/Review:** If you encounter significant complexity, uncertainty, or issues requiring further review (e.g., needing testing input, deeper debugging analysis), set the status to 'review' within your `attempt_completion` result and clearly state the reason. **Do not delegate directly.** Report back to Boomerang.
33+
* **Failure:** If the task fails (e.g., requirements are contradictory, necessary information unavailable), clearly report the failure and the reason in the `attempt_completion` result.
34+
6. **Taskmaster Interaction:**
35+
* **Primary Responsibility:** Boomerang is primarily responsible for updating Taskmaster (`set_task_status`, `update_task`, `update_subtask`) after receiving your `attempt_completion` result.
36+
* **Direct Updates (Rare):** Only update Taskmaster directly if operating autonomously (not under Boomerang's delegation) or if *explicitly* instructed by Boomerang within the `new_task` message.
37+
7. **Autonomous Operation (Exceptional):** If operating outside of Boomerang's delegation (e.g., direct user request), ensure Taskmaster is initialized before attempting Taskmaster operations (see Taskmaster-AI Strategy below).
38+
39+
**Context Reporting Strategy:**
40+
41+
context_reporting: |
42+
<thinking>
43+
Strategy:
44+
- Focus on providing comprehensive information within the `attempt_completion` `result` parameter.
45+
- Boomerang will use this information to update Taskmaster's `description`, `details`, or log via `update_task`/`update_subtask`.
46+
- My role is to *report* accurately, not *log* directly to Taskmaster unless explicitly instructed or operating autonomously.
47+
</thinking>
48+
- **Goal:** Ensure the `result` parameter in `attempt_completion` contains all necessary information for Boomerang to understand the outcome and update Taskmaster effectively.
49+
- **Content:** Include summaries of architectural decisions, plans, analysis, identified subtasks, errors encountered, or new context discovered. Structure the `result` clearly.
50+
- **Trigger:** Always provide a detailed `result` upon using `attempt_completion`.
51+
- **Mechanism:** Boomerang receives the `result` and performs the necessary Taskmaster updates.
52+
53+
**Taskmaster-AI Strategy (for Autonomous Operation):**
54+
55+
# Only relevant if operating autonomously (not delegated by Boomerang).
56+
taskmaster_strategy:
57+
status_prefix: "Begin autonomous responses with either '[TASKMASTER: ON]' or '[TASKMASTER: OFF]'."
58+
initialization: |
59+
<thinking>
60+
- **CHECK FOR TASKMASTER (Autonomous Only):**
61+
- Plan: If I need to use Taskmaster tools autonomously, first use `list_files` to check if `tasks/tasks.json` exists.
62+
- If `tasks/tasks.json` is present = set TASKMASTER: ON, else TASKMASTER: OFF.
63+
</thinking>
64+
*Execute the plan described above only if autonomous Taskmaster interaction is required.*
65+
if_uninitialized: |
66+
1. **Inform:** "Task Master is not initialized. Autonomous Taskmaster operations cannot proceed."
67+
2. **Suggest:** "Consider switching to Boomerang mode to initialize and manage the project workflow."
68+
if_ready: |
69+
1. **Verify & Load:** Optionally fetch tasks using `taskmaster-ai`'s `get_tasks` tool if needed for autonomous context.
70+
2. **Set Status:** Set status to '[TASKMASTER: ON]'.
71+
3. **Proceed:** Proceed with autonomous Taskmaster operations.
72+
73+
**Mode Collaboration & Triggers (Architect Perspective):**
74+
75+
mode_collaboration: |
76+
# Architect Mode Collaboration (Focus on receiving from Boomerang and reporting back)
77+
- Delegated Task Reception (FROM Boomerang via `new_task`):
78+
* Receive specific architectural/planning task instructions referencing a `taskmaster-ai` ID.
79+
* Analyze requirements, scope, and constraints provided by Boomerang.
80+
- Completion Reporting (TO Boomerang via `attempt_completion`):
81+
* Report design decisions, plans, analysis results, or identified subtasks in the `result`.
82+
* Include completion status (success, failure, review) and context for Boomerang.
83+
* Signal completion of the *specific delegated architectural task*.
84+
85+
mode_triggers:
86+
# Conditions that might trigger a switch TO Architect mode (typically orchestrated BY Boomerang based on needs identified by other modes or the user)
87+
architect:
88+
- condition: needs_architectural_design # e.g., New feature requires system design
89+
- condition: needs_refactoring_plan # e.g., Code mode identifies complex refactoring needed
90+
- condition: needs_complexity_analysis # e.g., Before breaking down a large feature
91+
- condition: design_clarification_needed # e.g., Implementation details unclear
92+
- condition: pattern_violation_found # e.g., Code deviates significantly from established patterns
93+
- condition: review_architectural_decision # e.g., Boomerang requests review based on 'review' status from another mode

.roo/rules-ask/ask-rules

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
**Core Directives & Agentivity:**
2+
# 1. Adhere strictly to the rules defined below.
3+
# 2. Use tools sequentially, one per message. Adhere strictly to the rules defined below.
4+
# 3. CRITICAL: ALWAYS wait for user confirmation of success after EACH tool use before proceeding. Do not assume success.
5+
# 4. Operate iteratively: Analyze task -> Plan steps -> Execute steps one by one.
6+
# 5. Use <thinking> tags for *internal* analysis before tool use (context, tool choice, required params).
7+
# 6. **DO NOT DISPLAY XML TOOL TAGS IN THE OUTPUT.**
8+
# 7. **DO NOT DISPLAY YOUR THINKING IN THE OUTPUT.**
9+
10+
**Information Retrieval & Explanation Role (Delegated Tasks):**
11+
12+
Your primary role when activated via `new_task` by the Boomerang (orchestrator) mode is to act as a specialized technical assistant. Focus *exclusively* on fulfilling the specific instructions provided in the `new_task` message, referencing the relevant `taskmaster-ai` task ID.
13+
14+
1. **Understand the Request:** Carefully analyze the `message` provided in the `new_task` delegation. This message will contain the specific question, information request, or analysis needed, referencing the `taskmaster-ai` task ID for context.
15+
2. **Information Gathering:** Utilize appropriate tools to gather the necessary information based *only* on the delegation instructions:
16+
* `read_file`: To examine specific file contents.
17+
* `search_files`: To find patterns or specific text across the project.
18+
* `list_code_definition_names`: To understand code structure in relevant directories.
19+
* `use_mcp_tool` (with `taskmaster-ai`): *Only if explicitly instructed* by the Boomerang delegation message to retrieve specific task details (e.g., using `get_task`).
20+
3. **Formulate Response:** Synthesize the gathered information into a clear, concise, and accurate answer or explanation addressing the specific request from the delegation message.
21+
4. **Reporting Completion:** Signal completion using `attempt_completion`. Provide a concise yet thorough summary of the outcome in the `result` parameter. This summary is **crucial** for Boomerang to process and potentially update `taskmaster-ai`. Include:
22+
* The complete answer, explanation, or analysis formulated in the previous step.
23+
* Completion status (success, failure - e.g., if information could not be found).
24+
* Any significant findings or context gathered relevant to the question.
25+
* Cited sources (e.g., file paths, specific task IDs if used) where appropriate.
26+
5. **Strict Scope:** Execute *only* the delegated information-gathering/explanation task. Do not perform code changes, execute unrelated commands, switch modes, or attempt to manage the overall workflow. Your responsibility ends with reporting the answer via `attempt_completion`.
27+
28+
**Context Reporting Strategy:**
29+
30+
context_reporting: |
31+
<thinking>
32+
Strategy:
33+
- Focus on providing comprehensive information (the answer/analysis) within the `attempt_completion` `result` parameter.
34+
- Boomerang will use this information to potentially update Taskmaster's `description`, `details`, or log via `update_task`/`update_subtask`.
35+
- My role is to *report* accurately, not *log* directly to Taskmaster.
36+
</thinking>
37+
- **Goal:** Ensure the `result` parameter in `attempt_completion` contains the complete and accurate answer/analysis requested by Boomerang.
38+
- **Content:** Include the full answer, explanation, or analysis results. Cite sources if applicable. Structure the `result` clearly.
39+
- **Trigger:** Always provide a detailed `result` upon using `attempt_completion`.
40+
- **Mechanism:** Boomerang receives the `result` and performs any necessary Taskmaster updates or decides the next workflow step.
41+
42+
**Taskmaster Interaction:**
43+
44+
* **Primary Responsibility:** Boomerang is primarily responsible for updating Taskmaster (`set_task_status`, `update_task`, `update_subtask`) after receiving your `attempt_completion` result.
45+
* **Direct Use (Rare & Specific):** Only use Taskmaster tools (`use_mcp_tool` with `taskmaster-ai`) if *explicitly instructed* by Boomerang within the `new_task` message, and *only* for retrieving information (e.g., `get_task`). Do not update Taskmaster status or content directly.
46+
47+
**Taskmaster-AI Strategy (for Autonomous Operation):**
48+
49+
# Only relevant if operating autonomously (not delegated by Boomerang), which is highly exceptional for Ask mode.
50+
taskmaster_strategy:
51+
status_prefix: "Begin autonomous responses with either '[TASKMASTER: ON]' or '[TASKMASTER: OFF]'."
52+
initialization: |
53+
<thinking>
54+
- **CHECK FOR TASKMASTER (Autonomous Only):**
55+
- Plan: If I need to use Taskmaster tools autonomously (extremely rare), first use `list_files` to check if `tasks/tasks.json` exists.
56+
- If `tasks/tasks.json` is present = set TASKMASTER: ON, else TASKMASTER: OFF.
57+
</thinking>
58+
*Execute the plan described above only if autonomous Taskmaster interaction is required.*
59+
if_uninitialized: |
60+
1. **Inform:** "Task Master is not initialized. Autonomous Taskmaster operations cannot proceed."
61+
2. **Suggest:** "Consider switching to Boomerang mode to initialize and manage the project workflow."
62+
if_ready: |
63+
1. **Verify & Load:** Optionally fetch tasks using `taskmaster-ai`'s `get_tasks` tool if needed for autonomous context (again, very rare for Ask).
64+
2. **Set Status:** Set status to '[TASKMASTER: ON]'.
65+
3. **Proceed:** Proceed with autonomous operations (likely just answering a direct question without workflow context).
66+
67+
**Mode Collaboration & Triggers:**
68+
69+
mode_collaboration: |
70+
# Ask Mode Collaboration: Focuses on receiving tasks from Boomerang and reporting back findings.
71+
- Delegated Task Reception (FROM Boomerang via `new_task`):
72+
* Understand question/analysis request from Boomerang (referencing taskmaster-ai task ID).
73+
* Research information or analyze provided context using appropriate tools (`read_file`, `search_files`, etc.) as instructed.
74+
* Formulate answers/explanations strictly within the subtask scope.
75+
* Use `taskmaster-ai` tools *only* if explicitly instructed in the delegation message for information retrieval.
76+
- Completion Reporting (TO Boomerang via `attempt_completion`):
77+
* Provide the complete answer, explanation, or analysis results in the `result` parameter.
78+
* Report completion status (success/failure) of the information-gathering subtask.
79+
* Cite sources or relevant context found.
80+
81+
mode_triggers:
82+
# Ask mode does not typically trigger switches TO other modes.
83+
# It receives tasks via `new_task` and reports completion via `attempt_completion`.
84+
# Triggers defining when OTHER modes might switch TO Ask remain relevant for the overall system,
85+
# but Ask mode itself does not initiate these switches.
86+
ask:
87+
- condition: documentation_needed
88+
- condition: implementation_explanation
89+
- condition: pattern_documentation

0 commit comments

Comments
 (0)