113 Commits

Author SHA1 Message Date
Ralph Khreish
c798639d1a feat: add user-defined metadata field to tasks (#1555) (#1611)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Cedric Hurst <cedric@spantree.net>
Closes #1555
2026-01-26 17:41:33 +01:00
Ralph Khreish
efedc85cb1 feat(loop): add streaming output mode with --stream flag (#1605) 2026-01-25 11:50:07 +01:00
Ben Coombs
0d628ca951 feat: Add modifyJSON for atomic operations in legacy utils.js (#1587)
Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>
fix for #1585 (part 2: legacy utils.js pattern)
2026-01-25 11:32:23 +01:00
Ralph Khreish
87ba3a2a5b ralph/chore/fix.tests (#1578) 2026-01-15 15:46:15 +01:00
Ben Coombs
6c3a92c439 feat(list): Add --ready and --blocking filters to identify parallelizable tasks (#1533)
Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>

- fixes #1532
2026-01-14 22:59:19 +01:00
Ralph Khreish
097c8edcb0 fix(loop): improve error handling and use dangerously-skip-permissions (#1576) 2026-01-14 20:51:21 +01:00
Ben Coombs
4cfde1c3d5 fix: adopt modifyJson pattern for atomic read-modify-write operations (#1569)
Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
Resolves issue #1568.
2026-01-14 19:20:55 +01:00
Ralph Khreish
e762e4f646 fix(loop): make Docker sandbox opt-in and preserve progress file
- Add --sandbox flag to loop command (default: use plain claude -p)
- Append to progress.txt instead of overwriting between runs
- Display execution mode (Docker sandbox vs Claude CLI) in output
2026-01-14 19:16:11 +01:00
Ben Coombs
3cc6174b47 fix: Add cross-process file locking to prevent race conditions (#1566)
Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
2026-01-13 21:22:59 +01:00
Ralph Khreish
c2d6c18a96 feat(cli): implement loop command (#1571)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 01:47:52 +01:00
github-actions[bot]
db8165cb65 Merge pull request #1540 from eyaltoledano/changeset-release/main 2025-12-24 13:30:59 +01:00
Ralph Khreish
a0007a3575 feat(project-root): enhance project root detection with boundary markers (#1545) 2025-12-24 13:26:48 +01:00
Ralph Khreish
68be386172 Merge remote-tracking branch 'origin/main' into ralph/chore/update.from.main.dec.18.p2 2025-12-18 20:38:07 +01:00
Eyal Toledano
38c2c08af1 feat(cli): add --watch flag to list command for real-time updates (#1526)
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
Fixes #1526 PR review comments from CodeRabbit and changeset-bot
2025-12-18 20:11:40 +01:00
Ralph Khreish
4d1ed20345 Ralph/feat/add.auto.rules.add (#1535) 2025-12-18 20:03:40 +01:00
Ralph Khreish
73e3fe8dd3 feat(core): improve project root detection with boundary markers (#1531) 2025-12-18 18:06:39 +01:00
github-actions[bot]
f978cb8096 Merge pull request #1529 from eyaltoledano/changeset-release/main 2025-12-17 11:49:48 +01:00
Ralph Khreish
2cbdf11d32 chore: apply coderabbit requested changes pre-0.39.0 2025-12-17 00:05:49 +01:00
Ralph Khreish
1c2228dbb6 feat(profiles): auto-enable deferred MCP loading for Claude Code (#1525) 2025-12-16 23:12:24 +01:00
Ralph Khreish
4b6570e300 fix: support Azure provider with reasoning models (#1310)
Co-authored-by: Ralph Khreish <Crunchyman-ralph@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Fixes #638
2025-12-16 16:14:24 +01:00
Ralph Khreish
353e3bffd6 feat(core,cli): surface rich AI implementation metadata for remote tasks (#1521) 2025-12-16 13:00:22 +01:00
github-actions[bot]
1c5a6c3400 Merge pull request #1516 from eyaltoledano/changeset-release/main 2025-12-14 14:51:07 +01:00
Ralph Khreish
9ee63e01db feat: add slash commands (#1461) 2025-12-13 18:53:14 +01:00
github-actions[bot]
bf26dbd012 Version Packages (#1487)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
2025-12-09 12:24:42 +01:00
Ralph Khreish
071dfc6be9 fix: resolve login issues for users with CLI authentication blocked by browsers or firewalls (#1492) 2025-12-08 22:42:39 +01:00
Ralph Khreish
0e908be43a fix: improve branch naming logic for workflow commands (#1491) 2025-12-07 19:04:40 +01:00
Ralph Khreish
b0199f1cfa fix: improve auth-related error handling (#1477) 2025-12-04 18:12:59 +01:00
github-actions[bot]
82761749b5 Version Packages (#1469) 2025-12-02 22:00:04 +01:00
Eyal Toledano
985b6e16fa fix(auth): enforce org selection post-login and remove duplicate success messages
CHANGES:
- Add ensureOrgSelected to auth-guard.ts for all auth flows (existing & new sessions)
- Add ensureOrgSelected to parse-prd flow in commands.js (after authentication) -- NOT WORKING.
- Add ensureOrgSelected to init.js cloud storage flow (using shared utility)
- Remove duplicate 'Authentication successful!' boxen messages (auth.command.ts, auth-guard.ts)
- Export authenticateWithBrowserMFA and ensureOrgSelected from @tm/cli utils
- init.js now uses shared authenticateWithBrowserMFA instead of custom OAuth flow
- auth-guard.ts now checks context.orgId before making API calls (optimization)

FIXES:
- Org selection now happens after login in parse-prd, init, and export commands
- Single source of truth for browser auth with MFA support
- Removed redundant auth UI code from init.js

KNOWN ISSUES:
- tm init and tm export may hang after completion (Supabase auto-refresh timer)
- Root cause: AuthManager/Supabase client keeps event loop alive
- tm auth login works because it uses setupContextInteractive from ContextCommand
- Proper fix would be to add cleanup method to SupabaseAuthClient to stop auto-refresh
- Workaround (process.exit) was attempted but reverted as too dirty

The hanging issue requires further investigation into how auth login handles
cleanup vs how ensureAuthenticated/ensureOrgSelected interact with Supabase.
2025-12-02 11:42:32 -05:00
Eyal Toledano
1c889cccaa fix(invitations): handle API responses without explicit success field
The sendTeamInvitations function was treating 200 OK responses as errors
because it expected a 'success' field that the API doesn't always return.

- Check for invitations array in response body as success indicator
- Handle various response structures (invitations, data.invitations, data)
- Only treat as error when response is not OK or has explicit error field
2025-12-02 10:53:11 -05:00
Eyal Toledano
3038fa42a0 fix(auth): unify browser auth with MFA across all login paths
- Create shared authenticateWithBrowserMFA utility in auth-ui.ts
- Update auth.command.ts to use shared utility for tm auth login
- Update auth-guard.ts to use shared utility for parse-prd/export
- Fix oauth-service.ts to NOT call onError for MFA_REQUIRED
  (MFA requirement is a continuation, not a failure)

All login paths now use the same MFA-aware browser auth flow:
- tm auth login
- tm parse-prd (Bring it to Hamster)
- tm export
2025-12-01 21:21:10 -05:00
Ralph Khreish
62d3cd30e4 fix: fix team invite flow (#1473) 2025-12-02 00:18:18 +01:00
Eyal Toledano
1dbf242ffd fix(auth): enforce MFA verification in OAuth browser login flow (#1470) 2025-12-01 23:02:31 +01:00
Ralph Khreish
d0be0dcfe2 Merge remote-tracking branch 'origin/main' into ralph/merge.from.main.0.36.0.p3 2025-12-01 20:36:30 +01:00
Ralph Khreish
67a0fe6ccd fix: parse-prd with --input parameter not working (#1464) 2025-12-01 19:51:32 +01:00
Eyal Toledano
4046b3ca44 feat: Hamster Integration - Cloud Storage, Sentry Telemetry, and Major CLI UX Improvements (#1452) 2025-11-30 12:35:49 +01:00
github-actions[bot]
30217ab22f Version Packages (#1458)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
2025-11-27 20:56:18 +01:00
Ralph Khreish
88d356817e fix: auth refresh issue (#1450) 2025-11-26 23:34:57 +01:00
Ralph Khreish
28fcc27411 feat: improve ham connection (#1451) 2025-11-26 23:20:44 +01:00
Ralph Khreish
2316e94b28 feat: reintroduce task-master generate command for task file generation (#1446) 2025-11-25 18:32:50 +01:00
Ralph Khreish
01d4d9930f chore: apply requested changes (#1442) 2025-11-24 23:00:13 +01:00
Ralph Khreish
0195feffee feat: enhance MFA retry logic with configurable options (#1441) 2025-11-24 21:53:14 +01:00
Ralph Khreish
af36d171c7 feat: implement MFA in taskmaster (#1438) 2025-11-24 20:51:47 +01:00
Ben Vargas
783398ecdf feat(gemini-cli): upgrade to native structured output support (#1437) 2025-11-24 18:56:18 +01:00
Ralph Khreish
522d9af580 Ralph/chore/fix.coderabbit.issues (#1432) 2025-11-21 12:40:46 +01:00
Ralph Khreish
e66150e91c chore: add integration tests to new cli and mcp (#1430) 2025-11-20 19:36:17 +01:00
Ralph Khreish
4049f34d5a feat: implement local-only command checkers for cli and mcp (#1426) 2025-11-19 22:08:04 +01:00
Ralph Khreish
99d9179522 feat: deprecate generate command (#1425) 2025-11-19 18:03:34 +01:00
Ralph Khreish
9f7989ba4a Merge pull request #1412 from eyaltoledano/next (0.32.0) 2025-11-16 09:48:59 +01:00
Ralph Khreish
26f77c207b feat: sort briefs by updated at (#1409) 2025-11-15 12:15:07 +01:00