Commit Graph

66 Commits

Author SHA1 Message Date
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
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
github-actions[bot]
fa2abcb697 Version Packages (#1383)
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-15 11:44:09 +01:00
Ralph Khreish
6b44a96d9f feat: enable direct context selection and improve session reliability (#1402) 2025-11-14 20:52:52 +01:00
Ralph Khreish
10ec025581 fix: add --json back to tm list and tm show (#1408) 2025-11-14 19:52:53 +01:00
Ben Coombs
da8ed6aa11 fix: Treat cancelled tasks as complete in statistics and dependencies (#1393)
* fix: treat cancelled tasks as complete in statistics and dependencies

Fixes #1392

## Changes

- Add TERMINAL_COMPLETE_STATUSES constant including 'done', 'completed', 'cancelled'
- Update calculateTaskStatistics() to include cancelled tasks in completion %
- Update calculateSubtaskStatistics() to include cancelled subtasks in completion %
- Update calculateDependencyStatistics() to treat cancelled tasks as satisfied dependencies
- Update findNextTask() to treat cancelled tasks as complete for dependency resolution

## Impact

- Dashboard now correctly shows 100% for projects with only done/cancelled tasks
- Tasks depending on cancelled tasks are no longer permanently blocked
- Dependency metrics accurately reflect project state

## Tests

- Added comprehensive test suite with RED-GREEN-REFACTOR approach
- 9 tests covering completion %, subtask %, and dependency resolution
- All tests pass after fixes applied

* style: apply biome formatting

* style: apply biome formatting to all files

* fix: display fraction should show all terminal complete tasks, not just done

Previously the completion percentage correctly counted cancelled tasks
as complete (e.g., 100% for 14 done + 1 cancelled), but the fraction
display used stats.done which only counted 'done' status, showing
"100% 14/15" instead of "100% 15/15".

Added completedCount field to TaskStatistics interface to track all
terminal complete tasks (done + completed + cancelled) and updated
display to use this field for accurate fraction representation.

Updates:
- TaskStatistics interface now includes completedCount field
- calculateTaskStatistics() sets completedCount for display
- calculateSubtaskStatistics() sets completedCount for display
- Display lines now use completedCount instead of done count
- Added completedCount assertions to all relevant tests

Related to #1392

* refactor: centralize terminal status logic in @tm/core

Following code review feedback, extracted TERMINAL_COMPLETE_STATUSES
and isTaskComplete() to @tm/core as single source of truth. This
prevents duplication and potential drift between CLI and MCP layers.

Changes:
- Added TERMINAL_COMPLETE_STATUSES constant to @tm/core constants
- Added isTaskComplete() helper function to @tm/core constants
- Updated dashboard.component.ts to import from tm-core via CLI util
- Updated list.command.ts to import from tm-core via CLI util
- Updated task-loader.service.ts to use shared isTaskComplete()
- Created CLI convenience re-export in utils/task-status.ts

Architecture:
- Business logic now lives in @tm/core (proper layer)
- CLI provides convenience re-exports for ergonomics
- MCP already delegates to @tm/core (no changes needed)

Addresses review comments from @Crunchyman-ralph on PR #1393

* fix: remove unused TaskStatus import in task-loader.service

TypeScript error: TaskStatus was imported but no longer used after
refactoring to use isTaskComplete() helper.

* fix: correct subtask display and progress bar for cancelled tasks

Fixed two display bugs identified by cursor bot:

1. Subtask completion display now shows completedCount instead of done
   - Before: "Completed: 3/4" (only counted done tasks)
   - After: "Completed: 4/4" (counts done + cancelled as terminal complete)

2. Progress bar no longer double-counts cancelled tasks
   - Before: Green section (completionPercentage) + gray cancelled section
   - After: Green section includes cancelled (as terminal complete status)
   - Removed separate cancelled section from progress bar
   - Updated section numbers in comments (2-6 instead of 2-7)

These changes ensure visual consistency with the fix that treats cancelled
tasks as terminal complete for percentage calculations and dependency resolution.

Fixes cursor bot comments on PR #1393

* style: run biome formatter

* fix: keep cancelled tasks visually distinct in progress bar

Per reviewer feedback from Crunchyman-ralph, cancelled tasks should remain
visible as a separate gray section in the progress bar for better visibility,
even though they count as complete for the percentage calculation.

Changes:
- Green section shows 'done' tasks only
- Gray section shows 'cancelled' tasks (visually distinct but terminal complete)
- completionPercentage still includes both done and cancelled (correct)
- This prevents double-counting while maintaining visual clarity

Addresses: https://github.com/eyaltoledano/claude-task-master/pull/1393#issuecomment-3517115852

* fix: add done property to StatusBreakdown interface

TypeScript error: StatusBreakdown interface was missing 'done' property
required by the progress bar visualization code.

* fix: Populate done field in calculateStatusBreakdown for progress bar

The calculateStatusBreakdown() function was missing the calculation for the
'done' field, causing statusBreakdown.done to always be undefined. This meant
the green section of the progress bar never rendered, making completed tasks
invisible in the visual representation.

Addresses cursor bot feedback on PR #1393.

---------

Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>
2025-11-13 11:03:12 +01:00
Ralph Khreish
c62cf845da fix: improve display of subtasks based on storageType (#1400) 2025-11-12 21:51:24 +01:00
Ralph Khreish
63134a222c feat: add tm tags command to remote (#1386)
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-12 20:08:27 +01:00
Ben Coombs
9883e83b78 fix: Add emoji variant selector to all warning signs (#1396)
Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>
2025-11-12 15:30:32 +01:00
Ben Coombs
37aee7809c fix: prioritize .taskmaster in parent directories over other project markers (#1351)
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>
2025-11-12 14:13:06 +01:00
Ralph Khreish
c52f14abf3 chore: apply coderabbit requested changes 2025-11-01 15:19:22 +01:00
Ralph Khreish
5014ee3468 Merge remote-tracking branch 'origin/main' into ralph/chore/update.from.main.0.31.0.p1 2025-11-01 14:50:33 +01:00
Ralph Khreish
abf46b8087 fix: improve auto-update to happen before you execute a command (#1371) 2025-11-01 14:46:07 +01:00
Ralph Khreish
9c3b2737dd fix: add z.ai coding plan support (#1370) 2025-11-01 14:35:22 +01:00
github-actions[bot]
47c5b1e2ba Version Packages (#1367)
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-01 11:11:06 +01:00
Ralph Khreish
819d5e1bc5 feat: add GLM and LMStudio ai providers (#1360)
Co-authored-by: Ralph Khreish <Crunchyman-ralph@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Resolves #1325
2025-10-31 23:47:39 +01:00
Ralph Khreish
3b09b5da2a fix(core): Fix race condition in workflow state persistence (#1339)
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-31 15:41:21 +01:00
Ralph Khreish
0c639bd1db fix: return actual subtask instead of parent task for subtask IDs (#1358)
Co-authored-by: Ralph Khreish <Crunchyman-ralph@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Fixes #1355
2025-10-30 22:21:04 +01:00
Ralph Khreish
95b480284e Merge pull request #1354 from eyaltoledano/next Release 0.30.2 2025-10-28 17:18:40 +01:00
Ralph Khreish
d63a40c6dd fix: improve auth refresh (#1340) 2025-10-28 13:33:17 +01:00
github-actions[bot]
00d600ab1c Version Packages (#1352)
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-10-27 18:47:46 +01:00
Ralph Khreish
d0342d2696 fix: get storage type better with tm-core (#1347) 2025-10-26 08:30:47 +01:00
Ralph Khreish
03b7ef9a0e chore: refactor tm-core to host more of our "core" commands (#1331) 2025-10-21 21:16:15 +02:00
Ralph Khreish
28f8f02d9f fix: remove invalid empty version fields from workspace packages
Removes `"version": ""` from internal workspace packages to fix
changesets validation errors. These private packages don't need
explicit version fields as they use workspace protocol.

Fixes validation errors:
- Package "task-master-ai" must depend on the current version of "@tm/ai-sdk-provider-grok-cli": "" vs "*"
- Package "task-master-ai" must depend on the current version of "@tm/cli": "" vs "*"
- Package "@tm/cli" must depend on the current version of "@tm/core": "" vs "*"
- Package "extension" must depend on the current version of "@tm/core": "" vs "*"
- Package "@tm/mcp" must depend on the current version of "@tm/core": "" vs "*"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 13:29:52 +02:00
github-actions[bot]
675cd71c9f Version Packages (#1330)
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-10-21 10:46:40 +02:00
Ralph Khreish
ccb87a516a feat: implement tdd workflow (#1309)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 16:29:03 +02:00
Ralph Khreish
662e3865f3 feat: handle new command errors better (#1318) 2025-10-16 22:31:50 +02:00
Ralph Khreish
8649c8a347 chore: apply requested coderabbit changes 2025-10-16 19:24:29 +02:00
Ralph Khreish
5aca107827 fix: runtime env variables working with new tm_ env variables 2025-10-16 19:24:29 +02:00
Ralph Khreish
fb68c9fe1f feat: improve auth login by adding context selection immediately after logging in 2025-10-16 19:24:29 +02:00
Ralph Khreish
ff3bd7add8 chore: CI format 2025-10-16 19:24:29 +02:00
Ralph Khreish
c8228e913b feat: show brief title when listing brief instead of uuid
- add search for brief selection
2025-10-16 19:24:29 +02:00
Ralph Khreish
6bc75c0ac6 fix: auth refresh (#1314) 2025-10-15 17:32:15 +02:00
Ralph Khreish
d7fca1844f feat: add "next" command to new command structure (#1312) 2025-10-15 15:26:34 +02:00
Ben Coombs
a98d96ef04 fix: standardize UI box width calculations across components (#1305)
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
2025-10-14 20:08:11 +02:00
Ben Coombs
3283506444 fix: enhance findProjectRoot to traverse parent directories (#1302)
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-10-14 18:32:10 +02:00
Ralph Khreish
4c1ef2ca94 fix: auth refresh token (#1299)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-13 21:50:22 +02:00
Ralph Khreish
f263d4b2e0 Merge remote-tracking branch 'origin/main' into raplh/chore/merge.main 2025-10-11 11:32:47 +02:00
Ralph Khreish
f12a16d096 feat: add changelog highlights to auto-update notifications (#1286)
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-10 18:49:59 +02:00
github-actions[bot]
0df6595245 Version Packages (#1283)
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-10-07 20:43:13 +02:00
Ralph Khreish
7265a6cf53 feat: implement export tasks (#1260) 2025-10-06 16:03:56 +02:00
Ralph Khreish
db6f405f23 feat: add api-storage improvements (#1278) 2025-10-06 15:23:48 +02:00
Ralph Khreish
20004a39ea fix: add complexity score to tm list and tm show (#1270) 2025-10-03 18:47:05 +02:00
Ralph Khreish
738ec51c04 feat: Migrate Task Master to generateObject for structured AI responses (#1262)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Ben Vargas <ben@example.com>
2025-10-02 16:23:34 +02:00
Ralph Khreish
100c3dc47d chore: apply requested changes 2025-09-30 10:41:43 +02:00
github-actions[bot]
51a351760c Version Packages (#1243)
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-09-24 19:21:21 +02:00
Ralph Khreish
9ff5f158d5 chore: fix format 2025-09-23 19:27:57 +02:00
Ralph Khreish
b2ff06e8c5 fix: CI and unit tests 2025-09-23 19:26:02 +02:00