Skip to content

ralph/add.tm.show#1199

Merged
Crunchyman-ralph merged 4 commits intonextfrom
ralph/add.tm.show
Sep 12, 2025
Merged

ralph/add.tm.show#1199
Crunchyman-ralph merged 4 commits intonextfrom
ralph/add.tm.show

Conversation

@Crunchyman-ralph
Copy link
Collaborator

@Crunchyman-ralph Crunchyman-ralph commented Sep 12, 2025

What type of PR is this?

  • 🐛 Bug fix
  • ✨ Feature
  • 🔌 Integration
  • 📝 Docs
  • 🧹 Refactor
  • Other:

Description

Related Issues

How to Test This

# Example commands or steps

Expected result:

Contributor Checklist

  • Created changeset: npm run changeset
  • Tests pass: npm test
  • Format check passes: npm run format-check (or npm run format to fix)
  • Addressed CodeRabbit comments (if any)
  • Linked related issues (if any)
  • Manually tested the changes

Changelog Entry


For Maintainers

  • PR title follows conventional commits
  • Target branch correct
  • Labels added
  • Milestone assigned (if applicable)

Summary by CodeRabbit

  • New Features
    • Introduced a TypeScript CLI with commands: list, show, auth, and context.
    • Added a core library with file/API storage, configuration management, authentication (browser/OAuth), rich error handling, and logging.
  • Improvements
    • Faster, clearer CI with separate format, typecheck, build, and test jobs.
    • Packaged binaries and assets now ship from dist for consistent installs.
    • VS Code formatter defaults unified; Turbo cache ignored.
  • Documentation
    • Added migration roadmap, CLI command pattern guide, and tm-core docs.
  • Tests
    • Extensive unit/integration coverage for core, auth, config, and providers.
  • Chores
    • Monorepo build tooling via Turbo/tsup; workspace/layout updates.

@changeset-bot
Copy link

changeset-bot bot commented Sep 12, 2025

⚠️ No Changeset found

Latest commit: ec2d606

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 12, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Introduces a TypeScript-first monorepo structure with Turbo/tsup, adds @tm/core and @tm/cli packages, migrates CLI commands (list/show/auth/context) to Commander classes, implements core config/storage/auth/services, refactors assets handling, updates CI workflow into split jobs, adjusts MCP/extension builds, and adds extensive tests/docs/reports.

Changes

Cohort / File(s) Change summary
Monorepo tooling and build
package.json, turbo.json, tsup.config.ts, tsconfig.json, .changeset/config.json, .gitignore, .vscode/settings.json
Add Turbo/tsup/TypeScript configs, switch bins to dist, expand workspaces, scripts overhaul, enable changeset auto-commit, ignore .turbo, set VSCode formatters/TypeScript SDK.
CI workflow
.github/workflows/ci.yml
Split CI into format-check, typecheck, build, test; adjust env, install strategy, caching, artifacts, dependencies.
CLI package (@tm/cli)
apps/cli/package.json, apps/cli/tsconfig.json, apps/cli/src/index.ts, apps/cli/src/commands/*.ts, apps/cli/src/utils/ui.ts
Add CLI package with Commander-based commands (list, show, auth, context), UI helpers, TS config and scripts, exports.
Core package skeleton (@tm/core) — package/docs
packages/tm-core/package.json, packages/tm-core/CHANGELOG.md, packages/tm-core/README.md, packages/tm-core/POC-STATUS.md, packages/tm-core/docs/*, packages/tm-core/tsconfig.json, packages/tm-core/vitest.config.ts, packages/tm-core/.gitignore
Add package manifest with subpath exports, docs and changelog, TS and Vitest configs, ignore rules.
Core public index and constants
packages/tm-core/src/index.ts, packages/tm-core/src/constants/index.ts
Centralize public exports; add task/status/priority/constants and output formats/icons/colors.
Core types and interfaces
packages/tm-core/src/types/*, packages/tm-core/src/interfaces/*
Add task/domain types, DB typings, configuration/storage/AI provider interfaces and defaults.
Errors framework
packages/tm-core/src/errors/*
Introduce TaskMasterError with codes/serialization, legacy error wrappers, index exports.
Logger
packages/tm-core/src/logger/*
Add Logger, factory, and exports with env-driven behavior.
Entities and mappers
packages/tm-core/src/entities/task.entity.ts, packages/tm-core/src/mappers/TaskMapper.ts
Implement TaskEntity domain logic and DB-to-domain TaskMapper.
Authentication subsystem
packages/tm-core/src/auth/*, packages/tm-core/src/clients/*
Add AuthManager, CredentialStore, OAuthService, Supabase session storage, client, types, config, and public index; tests included.
Configuration subsystem
packages/tm-core/src/config/*
Add ConfigManager and services (loader, merger, persistence, env provider, runtime state) with tests and barrel exports.
Storage layer
packages/tm-core/src/storage/*
Add FileStorage (with helpers), ApiStorage, StorageFactory, adapters, and barrel exports.
Services and repositories
packages/tm-core/src/services/*, packages/tm-core/src/repositories/*
Add TaskService, OrganizationService, TaskRepository interface, and SupabaseTaskRepository.
Parser placeholder
packages/tm-core/src/parser/index.ts
Add TaskParser interface and PlaceholderParser.
Core facade
packages/tm-core/src/task-master-core.ts
Implement TaskMasterCore facade and factory.
Core tests
packages/tm-core/tests/**/*, packages/tm-core/src/**/*.{test,spec}.ts
Add unit/integration tests for providers, config, runtime state, subpath exports, list-tasks flow, and setup.
Build config package (@tm/build-config)
packages/build-config/*
Add reusable tsup base config, env helpers, merge utility, and TS config/package.
MCP server adjustments
mcp-server/src/index.js, mcp-server/src/tools/utils.js
Replace fs reads with JSON module imports for package.json-derived version/name.
VS Code extension build
apps/extension/esbuild.js, apps/extension/package.json
Resolve React from workspace root; add dev script alias.
Docs and reports
.taskmaster/docs/MIGRATION-ROADMAP.md, docs/CLI-COMMANDER-PATTERN.md, .taskmaster/reports/*, .taskmaster/tasks/tasks.json, .taskmaster/state.json, apps/docs/package.json
Add migration roadmap, CLI pattern doc, complexity reports, task plans/state update, and mintlify version bump.
Scripts refactor and assets
scripts/modules/commands.js, scripts/modules/config-manager.js, scripts/modules/prompt-manager.js, scripts/modules/update-config-tokens.js, scripts/init.js, src/utils/asset-resolver.js, src/utils/rule-transformer.js
Delegate CLI cmds to @tm/cli, import JSON configs statically, move prompt/templates to in-memory Map, add asset resolver, refactor rule transformer to asset APIs.
Tests updates (assets/profiles)
tests/integration/profiles/*, tests/unit/prompt-manager.test.js, tests/unit/scripts/modules/task-manager/analyze-task-complexity.test.js
Update tests for dist/public/assets layout and prompt manager changes; extend fs mocks.
CI/TS root configs
tsconfig.json
Add root TS config for workspace includes/excludes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant CLI as CLI Command (list/show)
  participant Core as TaskMasterCore
  participant Svc as TaskService
  participant SF as StorageFactory
  participant FS as FileStorage
  participant API as ApiStorage

  User->>CLI: Run command with options
  CLI->>Core: createTaskMasterCore(projectPath)
  Core->>Svc: initialize()
  Svc->>SF: create(config, projectPath)
  alt API configured
    SF-->>Svc: ApiStorage
    Svc->>API: loadTasks(tag)
  else File storage
    SF-->>Svc: FileStorage
    Svc->>FS: loadTasks(tag)
  end
  Svc-->>Core: TaskListResult / Task
  Core-->>CLI: Results
  CLI-->>User: Render (text/json/compact)
Loading
sequenceDiagram
  autonumber
  actor User
  participant CLI as AuthCommand
  participant AM as AuthManager
  participant OA as OAuthService
  participant SB as SupabaseAuthClient
  participant CS as CredentialStore

  User->>CLI: auth login
  CLI->>AM: getInstance()
  CLI->>OA: authenticate({ callbacks })
  OA->>SB: signInWithPKCE()
  SB-->>OA: auth URL
  OA-->>CLI: onAuthUrl / open browser
  User-->>OA: Complete browser auth
  OA->>SB: exchangeCodeForSession()
  SB-->>OA: Session
  OA->>CS: saveCredentials()
  OA-->>CLI: AuthCredentials
  CLI-->>User: Success + status
Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120–180 minutes

Possibly related PRs

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ralph/add.tm.show

Comment @coderabbitai help to get the list of available commands and usage tips.

@Crunchyman-ralph Crunchyman-ralph changed the base branch from main to next September 12, 2025 01:28
Copy link
Collaborator Author

@Crunchyman-ralph Crunchyman-ralph left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Collaborator Author

@Crunchyman-ralph Crunchyman-ralph left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@Crunchyman-ralph Crunchyman-ralph merged commit 77e1ddc into next Sep 12, 2025
9 of 12 checks passed
@Crunchyman-ralph Crunchyman-ralph deleted the ralph/add.tm.show branch September 12, 2025 01:34
github-actions bot added a commit that referenced this pull request Sep 12, 2025
  This PR was automatically generated to update documentation based on recent changes.

  Original commit: feat: add tm show (#1199)\n\n\n

  Co-authored-by: Claude <claude-assistant@anthropic.com>
This was referenced Sep 17, 2025
Crunchyman-ralph added a commit that referenced this pull request Sep 17, 2025
@coderabbitai coderabbitai bot mentioned this pull request Sep 17, 2025
16 tasks
@coderabbitai coderabbitai bot mentioned this pull request Nov 29, 2025
16 tasks
sfc-gh-dflippo pushed a commit to sfc-gh-dflippo/task-master-ai that referenced this pull request Dec 4, 2025
sfc-gh-dflippo pushed a commit to sfc-gh-dflippo/task-master-ai that referenced this pull request Dec 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant