Skip to content

Commit 4046b3c

Browse files
authored
feat: Hamster Integration - Cloud Storage, Sentry Telemetry, and Major CLI UX Improvements (#1452)
1 parent 9e93465 commit 4046b3c

File tree

352 files changed

+16118
-3693
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

352 files changed

+16118
-3693
lines changed

.changeset/crisp-zebras-spend.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
"task-master-ai": minor
3+
---
4+
5+
Add Hamster integration for `parse-prd` command
6+
7+
Your tasks are only as good as the context behind them. Now when you run `parse-prd`, you can choose to bring your PRD to Hamster instead of parsing locally.
8+
9+
**New Workflow Choice**
10+
- **Parse locally**: PRD becomes a task list in a local JSON file - great for quick prototyping and vibing solo
11+
- **Bring it to Hamster**: PRD becomes a living brief connected to your team, codebase, and agents
12+
13+
**Why Hamster?**
14+
- Tasks live in a central place with real-time sync across your team
15+
- Collaborate on your PRD/brief together, generate tasks on Hamster, bring them into Taskmaster
16+
- No API keys needed - Hamster handles all AI inference, just need a Hamster account
17+
18+
**Hamster Integration**
19+
- OAuth login flow when choosing Hamster (same as export command)
20+
- Create brief directly from PRD content with auto-generated title/description
21+
- Progress bar showing task generation phases (analyzing → generating → processing)
22+
- Invite teammates during brief creation
23+
- Auto-set context to new brief when complete
24+
25+
**Quality of Life**
26+
- Clickable brief URL and team invite URL in terminal
27+
- Shows task count as they're generated
28+
- Graceful fallback if generation takes longer than expected

.changeset/hot-icons-thank.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
"task-master-ai": minor
3+
---
4+
5+
Redesign `tm init` with clearer workflow selection and reduced noise
6+
7+
Choose how you want to plan: Solo with Taskmaster or Together with Hamster. The new init flow guides you through setup with context-appropriate options and cleaner output.
8+
9+
**New Workflow Selection**
10+
- Clear framing: "You need a plan before you execute. How do you want to build it?"
11+
- **Solo (Taskmaster)**: Parse PRD → structured tasks → AI agent executes with control
12+
- **Together (Hamster)**: Team writes brief → Hamster refines → aligned execution with Taskmaster
13+
14+
**Cleaner Experience**
15+
- Optional AI IDE rules setup (Y/n prompt instead of always showing)
16+
- 15+ log messages moved to debug level - much less noise
17+
- Skip Git prompts when using Hamster (not needed for cloud storage)
18+
- Skip AI model configuration for Hamster (uses Hamster's AI)
19+
20+
**Hamster Integration**
21+
- OAuth login flow when choosing Hamster workflow
22+
- Context-aware guidance based on your workflow choice
23+
24+
**Quality of Life**
25+
- Run `tm rules --setup` anytime if you declined during init
26+
- Use `--yes` flag for fully non-interactive setup
27+
- Use `--rules cursor,windsurf` to specify rules upfront

.changeset/red-buses-listen.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
"task-master-ai": minor
3+
---
4+
5+
Introduce `tm export` command - bring Task Master to your team
6+
7+
Share your task plans with teammates by exporting local tasks to collaborative briefs on Hamster. Select which tags to export, invite team members, and start collaborating instantly.
8+
9+
**New `tm export` Command**
10+
- Export your local tasks to shareable team briefs
11+
- Hamster will reverse engineer your PRD based on your tasks (reverse parse prd!)
12+
- Select multiple tags to export in one go, import all tasks across tags to Hamster
13+
- Hamster will generate brief titles and descriptions from your task content
14+
- Automatically sets your CLI context to the new brief
15+
- All AI calls handled by Hamster, zero API keys needed - just a Hamster account!
16+
17+
**Team Collaboration**
18+
- Invite teammates during export with `-I, --invite` flag
19+
- Add up to 10 team members by email
20+
- See invitation status: sent, already a member, or error
21+
22+
**Quality of Life Improvements**
23+
- New `tm login` / `tm logout` shortcuts
24+
- Display ID shortcuts: `tm show ham31` now works (normalizes to HAM-31)
25+
- Better task rendering with proper HTML/Markdown support
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
'task-master-ai': patch
3+
---
4+
5+
Add Sentry integration for error tracking and AI telemetry monitoring
6+
7+
- **Sentry Integration**: Added comprehensive error tracking and AI operation monitoring using Sentry with Vercel AI SDK integration
8+
- **AI Telemetry**: All AI operations (generateText, streamText, generateObject, streamObject) now automatically track spans, token usage, prompts, and responses
9+
- **MCP Server Instrumentation**: Wrapped FastMCP server with `Sentry.wrapMcpServerWithSentry()` to automatically capture spans for all MCP tool interactions
10+
- **Privacy Controls**: Added `anonymousTelemetry` config option (default: true) allowing local storage users to opt out of telemetry
11+
- **Complete Coverage**: Telemetry enabled for all AI commands including parse-prd, expand, update-task, analyze-complexity, and research
12+
- **Internal Telemetry**: Sentry DSN is hardcoded internally for Task Master's telemetry (not user-configurable)
13+
- **Dual Initialization**: Automatic Sentry initialization in both CLI (scripts/dev.js) and MCP Server (mcp-server/src/index.js) with full MCP instrumentation
14+

.changeset/slow-grapes-do.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
"task-master-ai": minor
3+
---
4+
5+
Add simpler positional syntax and Hamster-aware UI improvements
6+
7+
- **Simpler command syntax**: Use positional arguments without flags
8+
- `tm update-task 1 Added implementation` (no quotes needed for multi-word prompts)
9+
- `tm status 1 done` (new alias for set-status) or `tm set-status 1,1.1,2 in-progress`
10+
- `tm list done` or `tm list in-progress` or `tm list all` (shortcut for --with-subtasks)
11+
- **Hamster-aware help**: Context-specific command list when connected to Hamster
12+
- Shows only relevant commands for Hamster workflow
13+
- Beautiful boxed section headers with improved spacing
14+
- Clear usage examples with new positional syntax
15+
- Better visual alignment and cleaner formatting
16+
- **Progress indicators**: Added loading spinner to `update-task` when connected to Hamster
17+
- Shows "Updating task X on Hamster..." during AI processing
18+
- Cleaner, more responsive UX for long-running operations
19+
- **Improved context display**: Show 'Brief: [name]' instead of 'tag: [name]' when connected to Hamster
20+
- **Cleaner Hamster updates**: Simplified update display (removed redundant Mode/Prompt info)
21+
- **Smart messaging**: "NO TASKS AVAILABLE" warning only shows when literally no tasks exist
22+
- Removed misleading messages when tasks are just completed/in-progress/blocked
23+
- Better UX for filtered task lists
24+
- **Updated help everywhere**: Regular help menu now shows new positional argument syntax
25+
- All suggested actions updated across commands
26+
- Consistent syntax in all UI components
27+
- **Auto-detection**: Automatically detects Hamster connection for better UX
28+
- **Backward compatible**: All old flag syntax still works (`--id`, `--status`, etc.)

.claude/commands/go/ham.md

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# Hamster (Go ham!) Run Task Workflow
2+
3+
This command initiates the HAM (Hamster Automated Management) workflow for task execution.
4+
5+
## Usage
6+
7+
```
8+
/go:ham [task-id]
9+
```
10+
11+
- `task-id` (optional): Specific task identifier to work on (e.g., "1", "1.2", "2.3.1")
12+
- If provided, start working on that specific task immediately
13+
- If omitted, automatically identify the next available task
14+
15+
## Process
16+
17+
When the user invokes this command, follow these steps:
18+
19+
### 1. Task Selection
20+
21+
#### If task-id is provided ($ARGUMENTS is not empty):
22+
```bash
23+
tm show $ARGUMENTS
24+
```
25+
Start working on the specified task immediately, skipping to step 3.
26+
27+
#### If no task-id is provided ($ARGUMENTS is empty):
28+
```bash
29+
tm list
30+
```
31+
Display all tasks with their current status to provide context.
32+
33+
### 2. Identify Next Task (only if no task-id provided)
34+
Determine which task should be worked on next based on:
35+
- Dependencies
36+
- Priority
37+
- Current status (pending tasks only)
38+
39+
### 3. Show Task Details (only if task wasn't specified in step 1)
40+
```bash
41+
tm show <task-id>
42+
```
43+
Display the full details of the identified task including:
44+
- Title and description
45+
- Dependencies
46+
- Test strategy
47+
- Subtasks (if any)
48+
49+
### 4. Kickoff Workflow
50+
51+
Based on the task type, follow the appropriate workflow:
52+
53+
#### For Main Tasks (e.g., "1", "2", "3")
54+
- Review the task's subtasks
55+
- If no subtasks exist, suggest expanding the task first
56+
- Identify the first pending subtask
57+
- Begin implementation following the subtask's requirements
58+
59+
#### For Subtasks (e.g., "1.1", "2.3")
60+
- Mark the subtask as in-progress:
61+
```bash
62+
tm set-status --id=<subtask-id> --status=in-progress
63+
```
64+
- Review the task details and requirements
65+
- Check for related code files or dependencies
66+
- Create an implementation plan
67+
- Begin implementation following project conventions
68+
69+
### 5. Implementation Guidelines
70+
71+
Follow these principles during implementation:
72+
73+
1. **Understand First**: Read related files and understand the current architecture
74+
2. **Plan**: Create a mental model or brief plan before coding
75+
3. **Follow Conventions**: Adhere to project structure and coding standards
76+
4. **Test As You Go**: Validate changes incrementally
77+
5. **Stay Focused**: Complete the current subtask before moving to the next
78+
79+
### 6. Task Completion
80+
81+
When the subtask is complete:
82+
```bash
83+
tm set-status --id=<subtask-id> --status=done
84+
```
85+
86+
Then automatically check for the next available task by repeating from step 2.
87+
88+
## Example Flows
89+
90+
### With Specific Task ID
91+
```
92+
User: "/go:ham 1.2"
93+
94+
1. Claude runs: tm show 1.2
95+
→ Displays full task details
96+
2. Claude analyzes the task and creates an implementation plan
97+
3. Claude marks task in-progress: tm set-status --id=1.2 --status=in-progress
98+
4. Claude begins implementation following the task requirements
99+
5. Upon completion, Claude runs: tm set-status --id=1.2 --status=done
100+
6. Claude automatically identifies next task with tm list
101+
```
102+
103+
### Without Specific Task ID (Auto-discovery)
104+
```
105+
User: "/go:ham"
106+
107+
1. Claude runs: tm list
108+
2. Claude identifies next available task (e.g., 1.2)
109+
3. Claude runs: tm show 1.2
110+
→ Displays full task details
111+
4. Claude analyzes the task and creates an implementation plan
112+
5. Claude marks task in-progress: tm set-status --id=1.2 --status=in-progress
113+
6. Claude begins implementation following the task requirements
114+
7. Upon completion, Claude runs: tm set-status --id=1.2 --status=done
115+
8. Claude automatically identifies next task with tm list
116+
```
117+
118+
## Notes
119+
120+
- Always verify task dependencies are complete before starting
121+
- If a task is blocked, mark it as such and move to the next available task
122+
- Keep the user informed of progress at each major step
123+
- Ask for clarification if task requirements are unclear
124+
- Follow the project's CLAUDE.md and .cursor/rules/* guidelines at all times
125+
- Unlike the usual Taskmaster process, do not bother using update-task nor update-subtask as they do not work with Hamster tasks yet.
126+
127+
- Use only `tm list`, `tm show <sub/task id>` and `tm set status` - other commands don't yet work with it.
128+
- Do not use the MCP tools when connected with Hamster briefs - that is not yet up to date.
129+
- Use `.cursor/rules/git_workflow.mdc` as a guide for the workflow
130+
- When starting a task, mark it as in-progress. You can mark multiple task statuses at once with comma separation (i.e. `tm set-status -i 1,1.1 -s in-progress`)
131+
- Read the task, then if it has subtasks, begin implementing the subtasks one at a time.
132+
- When the subtask is done, run lint and typecheck, mark the task as done if it passes, and commit.
133+
- Continue until all subtasks are done, then run a final lint and typecheck (`npm lint` and `npm typecheck`) and create a PR using `gh` cli for that Task.
134+
- Keep committing to the same PR as long as the scope is maintained. An entire task list (brief) might fit into a single PR but not if it ends up being huge. It is preferred for everything to land in one PR if it is possible, otherwise commit to different PRs that build on top of the previous ones. Confirm with the human when doing this.
135+
- When the parent task is completed, ensure you mark is as done.
136+
- When the first task is done, repeat this process for all tasks until all tasks are done.
137+
- If you run into an issue where the JWT seems expired or commands don't work, ensure you use `tm auth refresh` to refresh the token and if that does not work, use `tm context <brief url>` to reconnect the context. If you do not have the brief url, ask the user for it (perhaps use it at the beginning)
138+
139+
You're a fast hamster. Go go go.

0 commit comments

Comments
 (0)