@mindfoldhq/trellis 0.5.15 → 0.5.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.5.16",
3
+ "description": "Patch: align Cursor sessionStart hook output with Cursor's supported schema and remove the unsupported beforeSubmitPrompt injector.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(hooks): Cursor `sessionStart` hooks now emit top-level `additional_context`, matching Cursor's supported hook schema.\n- fix(hooks): Cursor templates no longer install the unsupported `beforeSubmitPrompt` workflow-state injector or `.cursor/hooks/inject-workflow-state.py`.",
7
+ "migrations": [],
8
+ "notes": "Run `trellis update` to refresh Cursor hook templates. No migration required because Trellis removes the unsupported Cursor workflow-state hook from generated templates."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.11",
3
+ "description": "Beta patch: fix uninstall manifest ownership, task archive auto-commit staging, Windows hook UTF-8 I/O, and beta-branch manifest continuity.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(scripts): `task.py archive` auto-commit now stages only the archived task source path, archive destination path, and child task dirs whose `task.json` was edited during parent cleanup.\n- fix(scripts): `task.py archive` now stages source-side deletes with `git rm -r --cached --ignore-unmatch` after moving a tracked task dir to `.trellis/tasks/archive/<YYYY-MM>/`.\n- fix(uninstall): `trellis init` now tracks platform/root template hashes from files actually written by Trellis instead of walking `.codex/`, `.claude/`, and other platform dirs that can contain user runtime data.\n- fix(uninstall): `trellis update` and `trellis uninstall` prune orphan `.trellis/.template-hashes.json` entries before planning, preserving user-owned files from manifests created by older versions.\n- fix(hooks): Windows hook templates force UTF-8 for stdin, stdout, and stderr so non-ASCII task names and prompt payloads do not fail under cp936/cp1252 code pages.\n\n**Internal:**\n- Restored `0.5.14.json` and added `0.5.15.json` on the beta branch so `check-manifest-continuity` passes against all published stable versions.",
7
+ "migrations": [],
8
+ "notes": "Run `trellis update` to pull in the archive auto-commit fix, manifest ownership self-heal, and updated hook templates. No migration required because file paths did not change."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.12",
3
+ "description": "Beta patch: add thread channels, project/global channel scope, linked context, and shared channel event filtering.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(channel): add `trellis channel create --type thread`, `trellis channel post`, `trellis channel threads`, and `trellis channel thread` for durable thread channels.\n- feat(channel): add `--scope project|global` resolution across channel create, send, wait, spawn, messages, list, kill, rm, and prune.\n- feat(channel): add channel and thread `description` plus `linkedContext` fields via `--linked-context-file` and `--linked-context-raw`.",
7
+ "migrations": [],
8
+ "notes": "Run `trellis update` to pull in thread channel commands and project/global scope support. No migration required because existing channel paths and project files remain valid."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.13",
3
+ "description": "Beta patch: add the trellis-core SDK package, finalize thread channel naming/context commands, and publish core with the CLI.",
4
+ "breaking": true,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(core): add `@mindfoldhq/trellis-core` with public `channel`, `task`, and `testing` exports for Node consumers.\n- feat(channel): use `trellis channel create --type threads` for thread channels and add `trellis channel context`, `trellis channel title`, and `trellis channel thread rename`.\n- feat(channel): add `--context-file` and `--context-raw` as canonical context flags while accepting `--linked-context-*` aliases.\n\n**Internal:**\n- chore(release): publish `@mindfoldhq/trellis-core` before `@mindfoldhq/trellis` with one version, one dist-tag, provenance, and packed CLI dependency checks.",
7
+ "migrations": [],
8
+ "notes": "Beta users should replace `trellis channel create --type thread` with `trellis channel create --type threads`. Run `trellis update` to pull in the core SDK-backed channel commands. No file migration is required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.14",
3
+ "description": "Beta patch: classify Codex channel streamed deltas and verify published packages on public npm after CI publish.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(channel): add `detail.kind`, `detail.stream_id`, and `detail.phase` to Codex `item/agentMessage/delta` progress events so consumers can split interleaved output and commentary streams.\n\n**Internal:**\n- chore(release): verify `@mindfoldhq/trellis` and `@mindfoldhq/trellis-core` are visible on the public npm registry after CI publish.",
7
+ "migrations": [],
8
+ "notes": "Run `npm install -g @mindfoldhq/trellis@beta` and `trellis update` to use the Codex channel stream metadata fix. No file migration is required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.15",
3
+ "description": "Beta patch: add core mem APIs, forum channel APIs, and channel worker lifecycle controls with Codex turn ordering fixes.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(core): add `@mindfoldhq/trellis-core/mem` for reusable `tl mem` session listing, search, context extraction, project aggregation, and provider adapters.\n- feat(channel): add forum channel commands and context entries with `trellis channel create --type forum`, `channel post`, `channel forum`, `channel thread`, and `channel context`.\n- feat(channel): add reusable worker runtime APIs, cursor reads, cross-channel watchers, `--inbox-policy`, and `--delivery-mode` for managed channel workers.\n\n**Bug Fixes:**\n- fix(channel): serialize normal worker turns, record `interrupt_requested` / `interrupted`, and keep workers active after turn-level `done` / `error` events.\n- fix(channel): delay Codex `done` until `final_answer` is recorded and keep `fs.watch` subscriptions alive after watcher errors.",
7
+ "migrations": [],
8
+ "notes": "Run `npm install -g @mindfoldhq/trellis@beta` and `trellis update` to use the core mem, forum channel, and channel worker lifecycle updates. No file migration is required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.16",
3
+ "description": "Beta patch: align Trellis task artifacts with check agents and document parent/child task trees in workflow guidance.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(workflow): document parent/child task tree planning in `workflow.md`, `trellis-brainstorm`, and `trellis-meta` references. Planning breadcrumbs now remind agents that multi-deliverable work should use independently verifiable child tasks and explicit child artifact dependencies.\n\n**Bug Fixes:**\n- fix(agents): `trellis-check` agents across platforms now read task `prd.md`, `design.md` when present, and `implement.md` when present before checking code against specs. Pi implement/check agents now list the same task artifact order.",
7
+ "migrations": [],
8
+ "notes": "Run `npm install -g @mindfoldhq/trellis@beta` and `trellis update` to refresh workflow and agent templates. No file migration is required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.17",
3
+ "description": "Beta patch: add workflow template switching, worker inbox core APIs, supervisor warning controls, wait kind unions, and Cursor sessionStart schema output.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(workflow): `trellis init --workflow` and `trellis workflow` can select `native`, `tdd`, `channel-driven-subagent-dispatch`, or marketplace workflow templates for `.trellis/workflow.md`.\n- feat(channel): `trellis channel wait --kind` accepts CSV kind unions such as `done,killed`; supervisors emit `supervisor_warning`, and `trellis channel spawn --warn-before` configures or disables the warning lead time.\n- feat(core): `@mindfoldhq/trellis-core/channel` exports `readWorkerInbox()`, `watchWorkerInbox()`, and `WorkerInboxError` for durable worker inbox consumers.\n\n**Bug Fixes:**\n- fix(hooks): Cursor `sessionStart` hooks now emit top-level `additional_context` and no longer install the unsupported `beforeSubmitPrompt` workflow injector.",
7
+ "migrations": [],
8
+ "notes": "Run `npm install -g @mindfoldhq/trellis@beta` and `trellis update` to refresh CLI templates. No file migration is required."
9
+ }
@@ -14,12 +14,6 @@
14
14
  "timeout": 30
15
15
  }
16
16
  ],
17
- "beforeSubmitPrompt": [
18
- {
19
- "command": "{{PYTHON_CMD}} .cursor/hooks/inject-workflow-state.py",
20
- "timeout": 15
21
- }
22
- ],
23
17
  "beforeShellExecution": [
24
18
  {
25
19
  "command": "{{PYTHON_CMD}} .cursor/hooks/inject-shell-session-context.py",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/shared-hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,iCAAiC,GACjC,0BAA0B,GAC1B,4BAA4B,CAAC;AAEjC,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,kBAAkB,EAClB,SAAS,cAAc,EAAE,CA4B1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,EAAE,CAWnD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,kBAAkB,GAC3B,UAAU,EAAE,CAGd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/shared-hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,iCAAiC,GACjC,0BAA0B,GAC1B,4BAA4B,CAAC;AAEjC,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,kBAAkB,EAClB,SAAS,cAAc,EAAE,CA2B1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,EAAE,CAWnD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,kBAAkB,GAC3B,UAAU,EAAE,CAGd"}
@@ -44,7 +44,6 @@ export const SHARED_HOOKS_BY_PLATFORM = {
44
44
  cursor: [
45
45
  "session-start.py",
46
46
  "inject-shell-session-context.py",
47
- "inject-workflow-state.py",
48
47
  "inject-subagent-context.py",
49
48
  ],
50
49
  codex: ["inject-workflow-state.py"],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/shared-hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,YAAY,CAAC,YAAoB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AA0BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAGjC;IACF,MAAM,EAAE;QACN,kBAAkB;QAClB,0BAA0B;QAC1B,4BAA4B;KAC7B;IACD,MAAM,EAAE;QACN,kBAAkB;QAClB,iCAAiC;QACjC,0BAA0B;QAC1B,4BAA4B;KAC7B;IACD,KAAK,EAAE,CAAC,0BAA0B,CAAC;IACnC,MAAM,EAAE,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;IACxD,KAAK,EAAE,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;IACvD,OAAO,EAAE,CAAC,0BAA0B,CAAC;IACrC,SAAS,EAAE;QACT,kBAAkB;QAClB,0BAA0B;QAC1B,4BAA4B;KAC7B;IACD,KAAK,EAAE;QACL,kBAAkB;QAClB,0BAA0B;QAC1B,4BAA4B;KAC7B;IACD,IAAI,EAAE,CAAC,4BAA4B,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAChC,IAAI,EAAE,CAAC;IAEV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,QAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,OAAO,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/shared-hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,YAAY,CAAC,YAAoB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AA0BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAGjC;IACF,MAAM,EAAE;QACN,kBAAkB;QAClB,0BAA0B;QAC1B,4BAA4B;KAC7B;IACD,MAAM,EAAE;QACN,kBAAkB;QAClB,iCAAiC;QACjC,4BAA4B;KAC7B;IACD,KAAK,EAAE,CAAC,0BAA0B,CAAC;IACnC,MAAM,EAAE,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;IACxD,KAAK,EAAE,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;IACvD,OAAO,EAAE,CAAC,0BAA0B,CAAC;IACrC,SAAS,EAAE;QACT,kBAAkB;QAClB,0BAA0B;QAC1B,4BAA4B;KAC7B;IACD,KAAK,EAAE;QACL,kBAAkB;QAClB,0BAA0B;QAC1B,4BAA4B;KAC7B;IACD,IAAI,EAAE,CAAC,4BAA4B,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAChC,IAAI,EAAE,CAAC;IAEV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,QAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,OAAO,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC"}
@@ -778,11 +778,15 @@ When the user sends the first message, follow <task-status> and the workflow gui
778
778
  If a task is READY, execute its Next required action without asking whether to continue.
779
779
  </ready>""")
780
780
 
781
+ context_text = output.getvalue()
781
782
  result = {
783
+ # Claude Code / Qoder / CodeBuddy / Droid / Gemini / Copilot format
782
784
  "hookSpecificOutput": {
783
785
  "hookEventName": "SessionStart",
784
- "additionalContext": output.getvalue(),
785
- }
786
+ "additionalContext": context_text,
787
+ },
788
+ # Cursor sessionStart format (top-level snake_case per Cursor docs)
789
+ "additional_context": context_text,
786
790
  }
787
791
 
788
792
  # Output JSON - stdout is already configured for UTF-8
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindfoldhq/trellis",
3
- "version": "0.5.15",
3
+ "version": "0.5.16",
4
4
  "description": "AI capabilities grow like ivy — Trellis provides the structure to guide them along a disciplined path",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -12,31 +12,6 @@
12
12
  "publishConfig": {
13
13
  "access": "public"
14
14
  },
15
- "scripts": {
16
- "build": "pnpm run clean && tsc && pnpm run copy-templates",
17
- "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
18
- "copy-templates": "node scripts/copy-templates.js",
19
- "dev": "tsc --watch",
20
- "start": "node ./dist/cli/index.js",
21
- "test": "vitest run",
22
- "test:watch": "vitest",
23
- "test:coverage": "vitest run --coverage",
24
- "lint": "eslint src/ test/",
25
- "lint:fix": "eslint src/ test/ --fix",
26
- "format": "prettier --write src/",
27
- "format:check": "prettier --check src/",
28
- "typecheck": "tsc --noEmit",
29
- "lint:py": "basedpyright",
30
- "lint:all": "pnpm lint && pnpm lint:py",
31
- "prepublishOnly": "pnpm test && pnpm run build && cp ../../README.md ../../LICENSE .",
32
- "release": "node scripts/check-manifest-continuity.js && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version patch && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin main --tags",
33
- "release:minor": "node scripts/check-manifest-continuity.js && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version minor && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin main --tags",
34
- "release:major": "node scripts/check-manifest-continuity.js && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version major && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin main --tags",
35
- "release:beta": "node scripts/check-manifest-continuity.js && node scripts/check-docs-changelog.js --type beta && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version prerelease --preid beta && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin HEAD --tags",
36
- "release:rc": "node scripts/check-manifest-continuity.js && node scripts/check-docs-changelog.js --type rc && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version prerelease --preid rc && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin HEAD --tags",
37
- "release:promote": "node scripts/check-manifest-continuity.js && node scripts/check-docs-changelog.js --type promote && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version \"$(node -p \"require('./package.json').version.replace(/-.*/, '')\")\" && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin main --tags",
38
- "manifest": "node scripts/create-manifest.js"
39
- },
40
15
  "keywords": [
41
16
  "ai",
42
17
  "workflow",
@@ -84,5 +59,29 @@
84
59
  "repository": {
85
60
  "type": "git",
86
61
  "url": "https://github.com/mindfold-ai/trellis.git"
62
+ },
63
+ "scripts": {
64
+ "build": "pnpm run clean && tsc && pnpm run copy-templates",
65
+ "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
66
+ "copy-templates": "node scripts/copy-templates.js",
67
+ "dev": "tsc --watch",
68
+ "start": "node ./dist/cli/index.js",
69
+ "test": "vitest run",
70
+ "test:watch": "vitest",
71
+ "test:coverage": "vitest run --coverage",
72
+ "lint": "eslint src/ test/",
73
+ "lint:fix": "eslint src/ test/ --fix",
74
+ "format": "prettier --write src/",
75
+ "format:check": "prettier --check src/",
76
+ "typecheck": "tsc --noEmit",
77
+ "lint:py": "basedpyright",
78
+ "lint:all": "pnpm lint && pnpm lint:py",
79
+ "release": "node scripts/check-manifest-continuity.js && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version patch && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin main --tags",
80
+ "release:minor": "node scripts/check-manifest-continuity.js && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version minor && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin main --tags",
81
+ "release:major": "node scripts/check-manifest-continuity.js && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version major && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin main --tags",
82
+ "release:beta": "node scripts/check-manifest-continuity.js && node scripts/check-docs-changelog.js --type beta && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version prerelease --preid beta && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin HEAD --tags",
83
+ "release:rc": "node scripts/check-manifest-continuity.js && node scripts/check-docs-changelog.js --type rc && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version prerelease --preid rc && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin HEAD --tags",
84
+ "release:promote": "node scripts/check-manifest-continuity.js && node scripts/check-docs-changelog.js --type promote && pnpm test && git add -A -- ':!docs-site' && (git diff-index --quiet HEAD || git commit -m 'chore: pre-release updates') && pnpm version --no-git-tag-version \"$(node -p \"require('./package.json').version.replace(/-.*/, '')\")\" && V=$(node -p \"require('./package.json').version\") && git add package.json && git commit -m \"$V\" && git tag \"v$V\" && git push origin main --tags",
85
+ "manifest": "node scripts/create-manifest.js"
87
86
  }
88
- }
87
+ }