merge from main 0.30.0#1334
Conversation
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>
|
WalkthroughThis PR concludes a pre-release cycle by finalizing version 0.30.0, removing pre-release configuration, consolidating changeset entries into the main changelog, and bumping version numbers across the monorepo's packages and applications. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/tm-core/CHANGELOG.md (1)
3-9: Update.changeset/config.jsonignore array to include all internal packages without version fields.The
## nullentries in CHANGELOG.md files are caused by changesets attempting to generate version entries for packages that have noversionfield in theirpackage.json. Currently, the ignore list only includes"docs"and"@tm/claude-code-plugin", but three internal packages lack version fields:
@tm/coreai-sdk-provider-grok-clibuild-configUpdate
.changeset/config.jsonto add these packages to theignorearray:"ignore": [ "docs", "@tm/claude-code-plugin", "@tm/core", "ai-sdk-provider-grok-cli", "build-config" ]
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (20)
.changeset/dirty-hairs-know.md(0 hunks).changeset/fix-parent-directory-traversal.md(0 hunks).changeset/kind-lines-melt.md(0 hunks).changeset/light-owls-stay.md(0 hunks).changeset/metal-rocks-help.md(0 hunks).changeset/open-tips-notice.md(0 hunks).changeset/pre.json(0 hunks).changeset/some-dodos-wonder.md(0 hunks)CHANGELOG.md(1 hunks)apps/cli/CHANGELOG.md(1 hunks)apps/docs/CHANGELOG.md(1 hunks)apps/docs/package.json(1 hunks)apps/extension/package.json(1 hunks)apps/mcp/CHANGELOG.md(1 hunks)package.json(1 hunks)packages/ai-sdk-provider-grok-cli/CHANGELOG.md(1 hunks)packages/build-config/CHANGELOG.md(1 hunks)packages/claude-code-plugin/CHANGELOG.md(1 hunks)packages/tm-core/CHANGELOG.md(1 hunks)packages/tm-core/package.json(1 hunks)
💤 Files with no reviewable changes (8)
- .changeset/metal-rocks-help.md
- .changeset/light-owls-stay.md
- .changeset/fix-parent-directory-traversal.md
- .changeset/dirty-hairs-know.md
- .changeset/pre.json
- .changeset/open-tips-notice.md
- .changeset/some-dodos-wonder.md
- .changeset/kind-lines-melt.md
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{md,mdx}
📄 CodeRabbit inference engine (CLAUDE.md)
Reference documentation at https://docs.task-master.dev rather than local file paths in content
Files:
packages/ai-sdk-provider-grok-cli/CHANGELOG.mdpackages/tm-core/CHANGELOG.mdpackages/claude-code-plugin/CHANGELOG.mdapps/docs/CHANGELOG.mdCHANGELOG.mdapps/mcp/CHANGELOG.mdpackages/build-config/CHANGELOG.mdapps/cli/CHANGELOG.md
package.json
📄 CodeRabbit inference engine (.cursor/rules/test_workflow.mdc)
Add and update test scripts in package.json to include test, test:watch, test:coverage, test:unit, test:integration, test:e2e, and test:ci
Files:
package.json
🧠 Learnings (7)
📓 Common learnings
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1232
File: packages/tm-core/package.json:50-51
Timestamp: 2025-09-22T19:45:04.337Z
Learning: In the eyaltoledano/claude-task-master project, Crunchyman-ralph intentionally omits version fields from internal/private packages in package.json files to prevent changesets from releasing new versions of these packages while still allowing them to be processed for dependency updates. The changesets warnings about missing versions are acceptable as they don't break the process and achieve the desired behavior of only releasing public packages.
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1232
File: packages/build-config/package.json:14-15
Timestamp: 2025-09-22T19:45:13.323Z
Learning: In the eyaltoledano/claude-task-master repository, Crunchyman-ralph intentionally omits version fields from internal packages (like tm/build-config) to prevent changesets from releasing new versions for these packages. This is the desired behavior for internal tooling packages that should not be published or versioned independently.
📚 Learning: 2025-09-22T19:45:04.337Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1232
File: packages/tm-core/package.json:50-51
Timestamp: 2025-09-22T19:45:04.337Z
Learning: In the eyaltoledano/claude-task-master project, Crunchyman-ralph intentionally omits version fields from internal/private packages in package.json files to prevent changesets from releasing new versions of these packages while still allowing them to be processed for dependency updates. The changesets warnings about missing versions are acceptable as they don't break the process and achieve the desired behavior of only releasing public packages.
Applied to files:
apps/extension/package.json
📚 Learning: 2025-08-07T13:00:22.966Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1090
File: apps/extension/package.json:241-243
Timestamp: 2025-08-07T13:00:22.966Z
Learning: In monorepos, local packages should use "*" as the version constraint in package.json dependencies, as recommended by npm. This ensures the local version from within the same workspace is always used, rather than attempting to resolve from external registries. This applies to packages like task-master-ai within the eyaltoledano/claude-task-master monorepo.
Applied to files:
apps/extension/package.json
📚 Learning: 2025-09-26T19:03:33.225Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1252
File: package.json:130-132
Timestamp: 2025-09-26T19:03:33.225Z
Learning: In the eyaltoledano/claude-task-master repository, packages are bundled using tsdown during the build process, which means dependencies imported by the source code (including tm internal packages like tm/ai-sdk-provider-grok-cli) are included in the final bundle and don't need to be available as separate runtime dependencies, so they should remain as devDependencies rather than being moved to dependencies.
Applied to files:
apps/extension/package.json
📚 Learning: 2025-09-26T19:05:47.555Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1252
File: packages/ai-sdk-provider-grok-cli/package.json:11-13
Timestamp: 2025-09-26T19:05:47.555Z
Learning: In the eyaltoledano/claude-task-master repository, internal tm/ packages use a specific export pattern where the "exports" field points to TypeScript source files (./src/index.ts) while "main" points to compiled output (./dist/index.js) and "types" points to source files (./src/index.ts). This pattern is used consistently across internal packages like tm/core and tm/ai-sdk-provider-grok-cli because they are consumed directly during build-time bundling with tsdown rather than being published as separate packages.
Applied to files:
apps/extension/package.jsonpackages/tm-core/package.json
📚 Learning: 2025-09-26T19:10:32.906Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1252
File: tsconfig.json:22-28
Timestamp: 2025-09-26T19:10:32.906Z
Learning: In the eyaltoledano/claude-task-master repository, all internal tm/ package path mappings in tsconfig.json consistently point to TypeScript source files (e.g., "./packages/*/src/index.ts") rather than built JavaScript. This is intentional architecture because tsdown bundles internal packages directly from source during build time, eliminating the need for separate compilation of internal packages.
Applied to files:
apps/extension/package.json
📚 Learning: 2025-09-26T19:07:10.485Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1252
File: packages/ai-sdk-provider-grok-cli/package.json:21-35
Timestamp: 2025-09-26T19:07:10.485Z
Learning: In the eyaltoledano/claude-task-master repository, the tsdown build configuration uses `noExternal: [/^tm\//]` which means internal tm/ packages are bundled into the final output while external npm dependencies remain external and are resolved from the root package.json dependencies at runtime. This eliminates the need for peer dependencies in internal packages since the root package.json already provides the required external dependencies.
Applied to files:
apps/extension/package.json
🪛 LanguageTool
packages/claude-code-plugin/CHANGELOG.md
[grammar] ~3-~3: Hier könnte ein Fehler sein.
Context: # @tm/claude-code-plugin ## 0.0.3 ## 0.0.2
(QB_NEW_DE)
packages/build-config/CHANGELOG.md
[grammar] ~9-~9: Hier könnte ein Fehler sein.
Context: ...nfig ## null ## null ## null ## null ## 1.0.1
(QB_NEW_DE)
🪛 markdownlint-cli2 (0.18.1)
packages/tm-core/CHANGELOG.md
9-9: Multiple headings with the same content
(MD024, no-duplicate-heading)
apps/cli/CHANGELOG.md
12-12: Multiple headings with the same content
(MD024, no-duplicate-heading)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: build
- GitHub Check: typecheck
- GitHub Check: Test
🔇 Additional comments (5)
packages/tm-core/package.json (2)
42-42: Verify the motivation for pinning strip-literal to exact version.Line 42 pins
strip-literalto3.1.0(removing the caret). This restricts the dependency to that exact version instead of allowing patch updates. Please confirm this was intentional — typically, patch-level updates within a minor version are considered safe and allow for security fixes.
49-49: Empty version field is intentional for internal packages.The empty
versionfield aligns with the established pattern for internal packages in this monorepo that are not published independently. As per learnings, this is the desired behavior for internal tooling packages.packages/claude-code-plugin/CHANGELOG.md (1)
3-4: Version entry properly formatted.The new
0.0.3version entry is correctly positioned at the top of the changelog, following the standard pattern of most-recent-first ordering.apps/docs/package.json (1)
3-3: Version bump aligns with changelog update.The minor version bump from 0.0.6 to 0.0.7 is consistent with the changelog entry added in the corresponding CHANGELOG.md file.
apps/docs/CHANGELOG.md (1)
3-4: Version entry correctly formatted and ordered.The new
0.0.7entry is properly positioned and follows semantic versioning conventions. This aligns with the corresponding package.json version bump.
| # @tm/mcp | ||
|
|
||
| ## null | ||
|
|
||
| ### Patch Changes | ||
|
|
||
| - Updated dependencies []: | ||
| - @tm/core@null |
There was a problem hiding this comment.
Remove invalid "null" version entries from changelog.
The file contains invalid version specifiers: ## null (line 3) and @tm/core@null (line 8). These are not valid semantic version strings and appear to be artifacts of an incomplete changelog generation process. The changeset should either be removed entirely or corrected with valid version information.
Consider removing this changelog entry entirely if it was auto-generated incorrectly, or replace null with the actual version number (likely empty/no-op for an internal package per the learnings).
🤖 Prompt for AI Agents
In apps/mcp/CHANGELOG.md around lines 1 to 8, the changelog contains invalid
"null" version entries (`## null` and `@tm/core@null`); remove the erroneous
auto-generated entry or replace `null` with the correct semantic version. If
this changeset is spurious, delete the entire section (heading, subheading and
bullet) so no invalid versions remain; otherwise update the heading to the
correct version string and fix dependency entry to use a valid version (or
remove the dependency line if not applicable).
| ## null | ||
|
|
||
| ## null |
There was a problem hiding this comment.
Remove duplicate "## null" version headers.
Lines 5-7 introduce additional ## null headers, creating duplicates with line 3. These invalid version headers should be consolidated or removed entirely. Internal packages using the null placeholder for versions should either have no changelog entry or a single consolidated entry indicating "no changes tracked."
Consider removing all ## null entries from this file as they don't represent valid releases or changes.
🤖 Prompt for AI Agents
In packages/ai-sdk-provider-grok-cli/CHANGELOG.md around lines 5 to 7, there are
duplicate invalid "## null" version headers; remove the extra "## null" headers
(or consolidate them into a single entry) so the file contains either no
null-version sections or one consolidated "no changes tracked" entry, and ensure
remaining headers use valid version strings or are removed entirely.
| ## null | ||
|
|
There was a problem hiding this comment.
Remove duplicate "## null" version headers.
This file contains multiple duplicate ## null headers (lines 3, 5, 7, 9), which violates markdown convention MD024 (no-duplicate-heading) flagged by markdownlint. These duplicate headings make the changelog confusing and non-functional. Either consolidate these into a single entry or remove them entirely, as null is not a valid semantic version.
Suggested fix: Remove lines 9-10 and consolidate any actual changelog content from internal package processing into a single entry, or remove all null entries if they represent incomplete automated generation.
🧰 Tools
🪛 LanguageTool
[grammar] ~9-~9: Hier könnte ein Fehler sein.
Context: ...nfig ## null ## null ## null ## null ## 1.0.1
(QB_NEW_DE)
🤖 Prompt for AI Agents
In packages/build-config/CHANGELOG.md around lines 9 to 10, there is a duplicate
invalid "## null" heading; remove the duplicate "## null" header (and any
adjacent empty line) and either merge any real changelog content under one valid
version heading or delete all "null" entries entirely so only valid
semantic-version headings remain; ensure the file contains a single consolidated
entry per version and re-run markdownlint to confirm MD024 is resolved.
| ## null | ||
|
|
There was a problem hiding this comment.
Remove duplicate "## null" version headers and consolidate internal package changelog entries.
This file exhibits the same pattern as other internal packages: multiple duplicate ## null headers (lines 3, 5, 7, 9), violating markdownlint rule MD024. This suggests a systematic issue with how the changelog generation handles internal packages. Based on the learnings, internal packages should not have versioned releases, so these null entries should be removed entirely or consolidated.
Apply this fix:
- ## null
-
- ## null
-
- ## null
-
- ## nullOr, consolidate all internal changelog processing into a single section clearly marked as "Internal Changes" if tracking is needed.
Committable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
9-9: Multiple headings with the same content
(MD024, no-duplicate-heading)
🤖 Prompt for AI Agents
In packages/tm-core/CHANGELOG.md around lines 9-10 there are duplicate "## null"
headers (also present at lines ~3,5,7,9) causing MD024 violations; remove all
redundant "## null" headers and either delete those null-version sections
entirely or merge their contents under a single clearly labeled section such as
"## Internal Changes" (keeping content merged chronologically or deduplicated as
needed), ensuring the file contains no "null" version headings and follows the
repository's changelog conventions.
This PR was automatically generated to update documentation based on recent changes. Original commit: Merge pull request #1334 from eyaltoledano/ralph/chore/update.from.main.0.30.0\n\n\n Co-authored-by: Claude <claude-assistant@anthropic.com>
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
What type of PR is this?
Description
Related Issues
How to Test This
# Example commands or stepsExpected result:
Contributor Checklist
npm run changesetnpm testnpm run format-check(ornpm run formatto fix)Changelog Entry
For Maintainers
Summary by CodeRabbit