@blxzer/cursor-trellis 0.3.2 → 0.3.3
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.
- package/CHANGELOG.md +15 -0
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +59 -5
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/templates/markdown/spec/guides/cursor-trellis-release-coexistence-guide.md.txt +166 -0
- package/dist/templates/markdown/spec/guides/index.md.txt +1 -0
- package/dist/utils/agents-md.d.ts +10 -0
- package/dist/utils/agents-md.d.ts.map +1 -1
- package/dist/utils/agents-md.js +25 -0
- package/dist/utils/agents-md.js.map +1 -1
- package/dist/utils/template-hash.d.ts.map +1 -1
- package/dist/utils/template-hash.js +39 -8
- package/dist/utils/template-hash.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,21 @@ SemVer: [semver.org](https://semver.org/spec/v2.0.0.html).
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [0.3.3] - 2026-07-04
|
|
15
|
+
|
|
16
|
+
Follow-up polish after 0.3.2 coexistence release: closes known limitations from the runtime-isolation task.
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- **feat(uninstall)**: `cstl uninstall` strips the `<!-- CSTL:START -->` managed block from `AGENTS.md` while preserving an upstream `<!-- TRELLIS:START -->` block and user content (`removeCstlManagedBlock`).
|
|
21
|
+
- **feat(hash)**: `.template-hashes.json` tracks **CSTL block hash only** for `AGENTS.md` — upstream TRELLIS block or out-of-block user edits no longer false-positive as "modified" on `cstl update` in coexistence repos.
|
|
22
|
+
- **docs(spec)**: `.cstl/spec/guides/cursor-trellis-release-coexistence-guide.md` — npm publish runbook (`publish-packages.js`), `cstl-v*` tag convention, coexistence scenario matrix.
|
|
23
|
+
- **ci**: `.github/workflows/publish.yml` — publish on `cstl-v*` tag push (requires `NPM_TOKEN` secret).
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- **docs(maintainers)**: release index points at the spec guide + `cstl-v*` / CI publish notes.
|
|
28
|
+
|
|
14
29
|
## [0.3.2] - 2026-07-04
|
|
15
30
|
|
|
16
31
|
> **0.3.1 was withdrawn** shortly after publish: the initial `npm publish` did not rewrite the `workspace:*` dependency on `@blxzer/cursor-trellis-core` (and core@0.3.1 was not published alongside), so 0.3.1 was uninstallable (`EUNSUPPORTEDPROTOCOL`). 0.3.2 reissues the same content via the proper `pnpm publish` orchestration (`publish-packages.js` publishes core first, then cli, rewriting `workspace:*` to the resolved version).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA2BH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAuWD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwG7E"}
|
|
@@ -21,11 +21,12 @@ import path from "node:path";
|
|
|
21
21
|
import readline from "node:readline";
|
|
22
22
|
import chalk from "chalk";
|
|
23
23
|
import inquirer from "inquirer";
|
|
24
|
-
import { DIR_NAMES } from "../constants/paths.js";
|
|
24
|
+
import { DIR_NAMES, FILE_NAMES } from "../constants/paths.js";
|
|
25
25
|
import { loadHashes } from "../utils/template-hash.js";
|
|
26
26
|
import { cleanupEmptyDirs } from "./update.js";
|
|
27
27
|
import { ALL_MANAGED_DIRS, getConfiguredPlatforms, } from "../configurators/index.js";
|
|
28
28
|
import { pruneOrphanManifestKeys } from "../utils/manifest-prune.js";
|
|
29
|
+
import { hasCstlBlock, removeCstlManagedBlock, } from "../utils/agents-md.js";
|
|
29
30
|
import { isCwdHomedir, homedirGuardMessage, homedirBypassEnabled, } from "../utils/cwd-guard.js";
|
|
30
31
|
import { scrubHooksJson } from "../utils/uninstall-scrubbers.js";
|
|
31
32
|
/**
|
|
@@ -47,6 +48,25 @@ function buildStructuredFileSpecs() {
|
|
|
47
48
|
}
|
|
48
49
|
return map;
|
|
49
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Decide the uninstall action for the root `AGENTS.md`. Independent of the
|
|
53
|
+
* manifest because AGENTS.md is pruned from it (see `pruneOrphanManifestKeys`).
|
|
54
|
+
*/
|
|
55
|
+
function planAgentsMdAction(cwd) {
|
|
56
|
+
const absPath = path.join(cwd, FILE_NAMES.AGENTS);
|
|
57
|
+
if (!fs.existsSync(absPath)) {
|
|
58
|
+
return { kind: "none" };
|
|
59
|
+
}
|
|
60
|
+
const content = fs.readFileSync(absPath, "utf-8");
|
|
61
|
+
if (!hasCstlBlock(content)) {
|
|
62
|
+
return { kind: "none" };
|
|
63
|
+
}
|
|
64
|
+
const stripped = removeCstlManagedBlock(content);
|
|
65
|
+
if (stripped.trim() === "") {
|
|
66
|
+
return { kind: "delete", absPath };
|
|
67
|
+
}
|
|
68
|
+
return { kind: "strip", absPath, strippedContent: stripped };
|
|
69
|
+
}
|
|
50
70
|
/**
|
|
51
71
|
* Walk through the manifest and decide, for each entry, whether it is a plain
|
|
52
72
|
* deletion or a structured modification (or fully-empty modification → still
|
|
@@ -58,6 +78,13 @@ function buildPlan(cwd, hashes) {
|
|
|
58
78
|
const deletions = [];
|
|
59
79
|
const modifications = [];
|
|
60
80
|
for (const posixPath of allPosixPaths) {
|
|
81
|
+
// AGENTS.md is handled by `plan.agentsMd` (strip CSTL block, preserve any
|
|
82
|
+
// upstream TRELLIS block + user content). Skip it here so the manifest
|
|
83
|
+
// loop never deletes the whole file — that would drop the upstream block
|
|
84
|
+
// and user content in a coexistence repo.
|
|
85
|
+
if (posixPath === FILE_NAMES.AGENTS) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
61
88
|
const absPath = path.join(cwd, ...posixPath.split("/"));
|
|
62
89
|
const spec = structured.get(posixPath);
|
|
63
90
|
if (!spec) {
|
|
@@ -92,6 +119,7 @@ function buildPlan(cwd, hashes) {
|
|
|
92
119
|
deletions,
|
|
93
120
|
modifications,
|
|
94
121
|
removeTrellisDir: true,
|
|
122
|
+
agentsMd: planAgentsMdAction(cwd),
|
|
95
123
|
};
|
|
96
124
|
}
|
|
97
125
|
/**
|
|
@@ -103,19 +131,30 @@ function renderPlan(cwd, plan) {
|
|
|
103
131
|
const deletePaths = plan.deletions
|
|
104
132
|
.filter((d) => !d.missing)
|
|
105
133
|
.map((d) => d.posixPath);
|
|
106
|
-
|
|
134
|
+
const agentsDelete = plan.agentsMd.kind === "delete";
|
|
135
|
+
const cstlDirShown = plan.removeTrellisDir && fs.existsSync(trellisDir);
|
|
136
|
+
const deleteCount = deletePaths.length + (cstlDirShown ? 1 : 0) + (agentsDelete ? 1 : 0);
|
|
137
|
+
console.log(chalk.red.bold(`Will be deleted (${deleteCount} entries):`));
|
|
107
138
|
for (const p of deletePaths) {
|
|
108
139
|
console.log(` ${chalk.red("-")} ${p}`);
|
|
109
140
|
}
|
|
110
|
-
if (
|
|
141
|
+
if (agentsDelete) {
|
|
142
|
+
console.log(` ${chalk.red("-")} ${FILE_NAMES.AGENTS} ${chalk.gray("(only the cursor-trellis managed block was present)")}`);
|
|
143
|
+
}
|
|
144
|
+
if (cstlDirShown) {
|
|
111
145
|
console.log(` ${chalk.red("-")} ${DIR_NAMES.WORKFLOW}/ ${chalk.gray("(entire directory, including tasks/runtime/config)")}`);
|
|
112
146
|
}
|
|
113
|
-
|
|
147
|
+
const agentsStrip = plan.agentsMd.kind === "strip";
|
|
148
|
+
const modCount = plan.modifications.length + (agentsStrip ? 1 : 0);
|
|
149
|
+
if (modCount > 0) {
|
|
114
150
|
console.log();
|
|
115
|
-
console.log(chalk.yellow.bold(`Will be modified (${
|
|
151
|
+
console.log(chalk.yellow.bold(`Will be modified (${modCount} files):`));
|
|
116
152
|
for (const m of plan.modifications) {
|
|
117
153
|
console.log(` ${chalk.yellow("~")} ${m.posixPath} ${chalk.gray(`(${m.reason})`)}`);
|
|
118
154
|
}
|
|
155
|
+
if (agentsStrip) {
|
|
156
|
+
console.log(` ${chalk.yellow("~")} ${FILE_NAMES.AGENTS} ${chalk.gray("(strip cursor-trellis managed block; keep upstream + user content)")}`);
|
|
157
|
+
}
|
|
119
158
|
}
|
|
120
159
|
const skipped = plan.deletions.filter((d) => d.missing);
|
|
121
160
|
if (skipped.length > 0) {
|
|
@@ -155,6 +194,21 @@ function executePlan(cwd, plan) {
|
|
|
155
194
|
fs.writeFileSync(mod.absPath, mod.result.content);
|
|
156
195
|
modifiedFiles += 1;
|
|
157
196
|
}
|
|
197
|
+
// 1b. AGENTS.md CSTL-block strip (or delete if only the block was present).
|
|
198
|
+
// Handled outside the manifest loop because AGENTS.md is pruned from it.
|
|
199
|
+
if (plan.agentsMd.kind === "strip") {
|
|
200
|
+
fs.writeFileSync(plan.agentsMd.absPath, plan.agentsMd.strippedContent);
|
|
201
|
+
modifiedFiles += 1;
|
|
202
|
+
}
|
|
203
|
+
else if (plan.agentsMd.kind === "delete") {
|
|
204
|
+
try {
|
|
205
|
+
fs.unlinkSync(plan.agentsMd.absPath);
|
|
206
|
+
deletedFiles += 1;
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
// Best-effort; a missing/locked file is reported via summary mismatch.
|
|
210
|
+
}
|
|
211
|
+
}
|
|
158
212
|
// 2. Deletions (skip already-missing entries).
|
|
159
213
|
const deletedDirCandidates = new Set();
|
|
160
214
|
for (const del of plan.deletions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# cursor-trellis Release & Coexistence Guide
|
|
2
|
+
|
|
3
|
+
> **Audience**: Maintainers and agents working on `@blxzer/cursor-trellis` in `D:\MyHarness\cursor-trellis`.
|
|
4
|
+
> **Scope**: npm publish runbook, git tag naming (`cstl-v*`), and upstream Trellis coexistence semantics (0.3.2+).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. npm publish runbook (mandatory)
|
|
9
|
+
|
|
10
|
+
cursor-trellis ships **two** npm packages at the **same version**:
|
|
11
|
+
|
|
12
|
+
| Package | Role |
|
|
13
|
+
| --- | --- |
|
|
14
|
+
| `@blxzer/cursor-trellis-core` | SDK (must publish **first**) |
|
|
15
|
+
| `@blxzer/cursor-trellis` | CLI (depends on core) |
|
|
16
|
+
|
|
17
|
+
### Do
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
cd D:\MyHarness\cursor-trellis\packages\cli
|
|
21
|
+
|
|
22
|
+
# 1. Version parity (cli + core package.json must match)
|
|
23
|
+
cd ../.. && pnpm release:check
|
|
24
|
+
|
|
25
|
+
# 2. Optional: dry-run pack shape (rewrites workspace:* in tarball)
|
|
26
|
+
node packages/cli/scripts/publish-packages.js --dry-run
|
|
27
|
+
|
|
28
|
+
# 3. Publish both packages in dependency order
|
|
29
|
+
node packages/cli/scripts/publish-packages.js
|
|
30
|
+
|
|
31
|
+
# 4. Verify registry visibility
|
|
32
|
+
node packages/cli/scripts/release-preflight.js verify-npm --package all
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
`publish-packages.js` uses **`pnpm publish`** (not bare `npm publish`). pnpm rewrites `workspace:*` dependencies to the resolved semver (e.g. `"@blxzer/cursor-trellis-core": "0.3.3"`). Bare `npm publish` leaves `workspace:*` in the tarball → **`EUNSUPPORTEDPROTOCOL`** on install.
|
|
36
|
+
|
|
37
|
+
### Do not
|
|
38
|
+
|
|
39
|
+
- **`npm publish`** from `packages/cli` alone (0.3.1 incident: cli tarball had `workspace:*`, core was missing).
|
|
40
|
+
- Publish cli before core (cli install fails with ETARGET until core exists).
|
|
41
|
+
- Skip `prepublishOnly` (runs test + build + copy-release-assets on cli).
|
|
42
|
+
|
|
43
|
+
### Preflight commands
|
|
44
|
+
|
|
45
|
+
| Command | Purpose |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| `release-preflight.js check-versions` | cli/core version match |
|
|
48
|
+
| `release-preflight.js verify-packed-cli` | Packed cli resolves core to exact semver (not `workspace:*`) |
|
|
49
|
+
| `release-preflight.js verify-npm` | Post-publish registry check |
|
|
50
|
+
| `release-preflight.js publish-plan` | Idempotent CI plan (skip already-published versions) |
|
|
51
|
+
|
|
52
|
+
### Withdrawn / deprecated versions
|
|
53
|
+
|
|
54
|
+
- **0.3.1 cli**: withdrawn (unpublish); use **0.3.2+**.
|
|
55
|
+
- **0.3.1 core**: cannot unpublish (npm policy); **`npm deprecate`** applied — use `@latest`.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 2. Git tags (`cstl-v*` prefix)
|
|
60
|
+
|
|
61
|
+
This repo shares git history with legacy `@blxzer/trellis` (1.x). Old tags `v0.3.x`–`v0.6.x` point at **trellis** commits, not cursor-trellis releases.
|
|
62
|
+
|
|
63
|
+
| Tag pattern | Product | Example |
|
|
64
|
+
| --- | --- | --- |
|
|
65
|
+
| `v*` (legacy) | `@blxzer/trellis` | `v0.3.2` @ 2026-03 trellis commit |
|
|
66
|
+
| **`cstl-v*`** | `@blxzer/cursor-trellis` | `cstl-v0.3.2` @ cursor-trellis release commit |
|
|
67
|
+
|
|
68
|
+
`packages/cli/scripts/release.js` tags releases as **`cstl-v${version}`** (since 0.3.2 tag-hygiene commit).
|
|
69
|
+
|
|
70
|
+
`release-preflight tagVersionFromEnv` extracts semver from tag suffix (`cstl-v0.3.2` → `0.3.2`).
|
|
71
|
+
|
|
72
|
+
**CI publish workflow** (`.github/workflows/publish.yml`): triggers on `push.tags: cstl-v*`. Requires repo secret `NPM_TOKEN`.
|
|
73
|
+
|
|
74
|
+
Do **not** delete legacy `v*` tags — they are historical trellis releases.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 3. Coexistence with upstream mindfold-ai/Trellis
|
|
79
|
+
|
|
80
|
+
**Product decision**: Both are workflow frameworks. **Cursor configuration belongs to cursor-trellis**. Upstream Trellis keeps `.trellis/` and non-Cursor platform dirs; cursor-trellis uses `.cstl/` + `.cursor/cstl-*`.
|
|
81
|
+
|
|
82
|
+
### Scenario matrix
|
|
83
|
+
|
|
84
|
+
| Scenario | User state | Action |
|
|
85
|
+
| --- | --- | --- |
|
|
86
|
+
| 1 Pure cstl | Only cursor-trellis (legacy `.trellis/` runtime) | `cstl update --migrate` → rename `.trellis/` → `.cstl/` |
|
|
87
|
+
| 2 Coexistence | Upstream `.trellis/` + wants Cursor cstl | `cstl init --cursor` → creates `.cstl/`, **takes over `.cursor/`**, AGENTS dual-block |
|
|
88
|
+
| 3 Fresh | Never used either | `cstl init --cursor` → `.cstl/` only |
|
|
89
|
+
|
|
90
|
+
### `cstl init` coexistence mode
|
|
91
|
+
|
|
92
|
+
When `.trellis/` exists and `.cstl/` does not:
|
|
93
|
+
|
|
94
|
+
1. Creates `.cstl/` (does not touch `.trellis/`).
|
|
95
|
+
2. **Force-writes** `.cursor/` (hooks, rules, commands) even under `-y`.
|
|
96
|
+
3. **AGENTS.md dual-block**: preserves `<!-- TRELLIS:START -->`, adds/refreshes `<!-- CSTL:START -->` (`insertCstlManagedBlock`).
|
|
97
|
+
4. Prints banner: do **not** run `cstl update --migrate` (would rename upstream `.trellis/`).
|
|
98
|
+
|
|
99
|
+
### Migrate gate (`assessCstlDirectoryMigrate`)
|
|
100
|
+
|
|
101
|
+
Conservative by default for `.trellis/` → `.cstl/` rename:
|
|
102
|
+
|
|
103
|
+
| Signal | Meaning |
|
|
104
|
+
| --- | --- |
|
|
105
|
+
| F1 | `.cursor/commands/cstl-*.md` |
|
|
106
|
+
| F2 | `.cursor/rules/cstl-triage.mdc` |
|
|
107
|
+
| F3 | `.trellis/scripts/common/cli_adapter.py` contains `cstl` |
|
|
108
|
+
| U1 | `.claude/agents/trellis-implement.md` |
|
|
109
|
+
| U2 | Non-Cursor platform `trellis-*` agents/skills |
|
|
110
|
+
| U4 | `.cursor/commands/trellis-*.md` without cstl fingerprint |
|
|
111
|
+
|
|
112
|
+
- No F fingerprint → **abort** (protect scenario 2).
|
|
113
|
+
- F + U mixed → **abort** (manual split).
|
|
114
|
+
- Escape: `cstl update --force-cstl-migrate`.
|
|
115
|
+
|
|
116
|
+
### AGENTS.md hash tracking (block-level)
|
|
117
|
+
|
|
118
|
+
`.template-hashes.json` stores **CSTL block hash only** for `AGENTS.md`, not the whole file. Upstream edits to TRELLIS block or user content outside CSTL block do **not** trigger "modified" on `cstl update`.
|
|
119
|
+
|
|
120
|
+
Implementation: `template-hash.ts` → `hashContentForPath` + `extractBlock(CSTL:START/END)`.
|
|
121
|
+
|
|
122
|
+
### `cstl uninstall` in coexistence repos
|
|
123
|
+
|
|
124
|
+
- Strips **CSTL block only** (`removeCstlManagedBlock`); keeps TRELLIS block + user content.
|
|
125
|
+
- If file was only the CSTL block → deletes `AGENTS.md`.
|
|
126
|
+
- Does **not** restore upstream `.cursor/` files overwritten during init (by design: cstl owned Cursor).
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 4. Post-release dogfood checklist
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
npm install -g @blxzer/cursor-trellis@latest
|
|
134
|
+
cstl --version
|
|
135
|
+
|
|
136
|
+
# Each dogfood project (no --migrate unless upgrading from pre-0.3.1):
|
|
137
|
+
cd <project>
|
|
138
|
+
cstl update --skip-readiness --skip-all
|
|
139
|
+
# Confirm .cstl/.version matches npm latest
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Sandbox smoke (from empty dir):
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npm init -y && npm install @blxzer/cursor-trellis@latest
|
|
146
|
+
npx cstl init --yes --skip-readiness --cursor
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 5. Related files (source of truth)
|
|
152
|
+
|
|
153
|
+
| Topic | Path |
|
|
154
|
+
| --- | --- |
|
|
155
|
+
| Publish orchestration | `cursor-trellis/packages/cli/scripts/publish-packages.js` |
|
|
156
|
+
| Release preflight | `cursor-trellis/packages/cli/scripts/release-preflight.js` |
|
|
157
|
+
| Tag prefix | `cursor-trellis/packages/cli/scripts/release.js` |
|
|
158
|
+
| Coexistence init | `packages/cli/src/commands/init.ts` |
|
|
159
|
+
| Migrate gate | `packages/cli/src/utils/workflow-ownership.ts` |
|
|
160
|
+
| AGENTS helpers | `packages/cli/src/utils/agents-md.ts` |
|
|
161
|
+
| Block-level hash | `packages/cli/src/utils/template-hash.ts` |
|
|
162
|
+
| Uninstall strip | `packages/cli/src/commands/uninstall.ts` |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
**Last updated**: 2026-07-04 (0.3.3 follow-up: uninstall CSTL strip + block hash + this guide).
|
|
@@ -29,6 +29,7 @@ These guides help you **ask the right questions before coding**.
|
|
|
29
29
|
| [Cursor subagent policy](./cursor-subagent-policy.md) | Task tool scenes, Agent mode, `model_policy: cursor-configured`, Cursor++ | Parent/Child dispatch, research/implement/check, parallel execution |
|
|
30
30
|
| [Execution strategy](./execution-strategy.md) | `suggest-execution-strategy`, rules JSON, inline vs worker vs child-task | Writing `implement.md` contract, Phase 2 dispatch |
|
|
31
31
|
| [Cursor context injection guide](./cursor-context-injection-guide.md) | Which Cursor channels reach the model (sessionStart bug, .cursor/rules, AGENTS.md) | "Agent ignored instructions" on Cursor, adding always-visible rules |
|
|
32
|
+
| [cursor-trellis release & coexistence](./cursor-trellis-release-coexistence-guide.md) | npm publish runbook, `cstl-v*` tags, upstream Trellis coexistence | Releasing cstl, scenario 2 init, migrate gate, uninstall AGENTS strip |
|
|
32
33
|
|
|
33
34
|
---
|
|
34
35
|
|
|
@@ -34,4 +34,14 @@ export declare function insertCstlManagedBlock(existingContent: string, template
|
|
|
34
34
|
export declare function hasCstlBlock(content: string): boolean;
|
|
35
35
|
/** True if `content` contains a legacy TRELLIS managed block. */
|
|
36
36
|
export declare function hasLegacyTrellisBlock(content: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Remove the CSTL managed block from `content`, leaving any upstream TRELLIS
|
|
39
|
+
* block and user content untouched. Collapses the blank lines left behind so
|
|
40
|
+
* the result reads naturally. Returns the content unchanged if no CSTL block
|
|
41
|
+
* is present.
|
|
42
|
+
*
|
|
43
|
+
* Used by `cstl uninstall` so a coexistence repo ends up with only the
|
|
44
|
+
* upstream TRELLIS block + user content after cursor-trellis is removed.
|
|
45
|
+
*/
|
|
46
|
+
export declare function removeCstlManagedBlock(content: string): string;
|
|
37
47
|
//# sourceMappingURL=agents-md.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-md.d.ts","sourceRoot":"","sources":["../../src/utils/agents-md.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AACtD,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAClD,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AACnE,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D,+EAA+E;AAC/E,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAMf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,MAAM,CAwCR;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMrD;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAM9D"}
|
|
1
|
+
{"version":3,"file":"agents-md.d.ts","sourceRoot":"","sources":["../../src/utils/agents-md.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AACtD,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAClD,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AACnE,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D,+EAA+E;AAC/E,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAMf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,MAAM,CAwCR;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMrD;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAM9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiB9D"}
|
package/dist/utils/agents-md.js
CHANGED
|
@@ -79,4 +79,29 @@ export function hasLegacyTrellisBlock(content) {
|
|
|
79
79
|
content.indexOf(LEGACY_TRELLIS_BLOCK_END) >
|
|
80
80
|
content.indexOf(LEGACY_TRELLIS_BLOCK_START));
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Remove the CSTL managed block from `content`, leaving any upstream TRELLIS
|
|
84
|
+
* block and user content untouched. Collapses the blank lines left behind so
|
|
85
|
+
* the result reads naturally. Returns the content unchanged if no CSTL block
|
|
86
|
+
* is present.
|
|
87
|
+
*
|
|
88
|
+
* Used by `cstl uninstall` so a coexistence repo ends up with only the
|
|
89
|
+
* upstream TRELLIS block + user content after cursor-trellis is removed.
|
|
90
|
+
*/
|
|
91
|
+
export function removeCstlManagedBlock(content) {
|
|
92
|
+
const startIdx = content.indexOf(CSTL_BLOCK_START);
|
|
93
|
+
if (startIdx === -1) {
|
|
94
|
+
return content;
|
|
95
|
+
}
|
|
96
|
+
const endIdx = content.indexOf(CSTL_BLOCK_END, startIdx);
|
|
97
|
+
if (endIdx === -1) {
|
|
98
|
+
return content;
|
|
99
|
+
}
|
|
100
|
+
const before = content.slice(0, startIdx);
|
|
101
|
+
const after = content.slice(endIdx + CSTL_BLOCK_END.length);
|
|
102
|
+
// Collapse up to one blank-line gap on each side so we don't leave a run of
|
|
103
|
+
// 4+ newlines, but never trim away meaningful separator lines.
|
|
104
|
+
return (before.replace(/\n{2,}$/, "\n\n") +
|
|
105
|
+
after.replace(/^\n{2,}/, "\n\n")).replace(/^\n{2,}/, "\n");
|
|
106
|
+
}
|
|
82
107
|
//# sourceMappingURL=agents-md.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/utils/agents-md.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAClD,MAAM,CAAC,MAAM,0BAA0B,GAAG,wBAAwB,CAAC;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAC1B,OAAe,EACf,WAAmB,EACnB,SAAiB;IAEjB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,eAAuB,EACvB,eAAuB;IAEvB,MAAM,KAAK,GACT,YAAY,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC;QAC/D,eAAe,CAAC;IAElB,mEAAmE;IACnE,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5D,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACnE,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,CACL,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;gBACnC,KAAK;gBACL,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzE,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CACxC,wBAAwB,EACxB,YAAY,CACb,CAAC;QACF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,UAAU,GAAG,wBAAwB,CAAC,MAAM,CAAC;YAC3D,OAAO,CACL,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;gBAC/B,MAAM;gBACN,KAAK;gBACL,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,GAAG,OAAO,OAAO,KAAK,IAAI,CAAC;AACpC,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAC9C,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/utils/agents-md.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-hash.d.ts","sourceRoot":"","sources":["../../src/utils/template-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"template-hash.d.ts","sourceRoot":"","sources":["../../src/utils/template-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAqB5D;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGnD;AAuCD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CA6BtD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAOpE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAQ1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAU1E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAKlE;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,IAAI,CASN;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,cAAc,GACrB,OAAO,CAoCT;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,GACtB,OAAO,CAST;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,cAAc,GACrB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAQtB;AA8DD,oDAAoD;AACpD,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAyDR"}
|
|
@@ -18,6 +18,7 @@ import path from "node:path";
|
|
|
18
18
|
import { DIR_NAMES, FILE_NAMES } from "../constants/paths.js";
|
|
19
19
|
import { toPosix } from "./posix.js";
|
|
20
20
|
import { resolveWorkflowDirName } from "./workflow-dir.js";
|
|
21
|
+
import { CSTL_BLOCK_END, CSTL_BLOCK_START, extractBlock, } from "./agents-md.js";
|
|
21
22
|
/** File name for storing template hashes */
|
|
22
23
|
const HASHES_FILE = ".template-hashes.json";
|
|
23
24
|
/** Current schema version for `.template-hashes.json` */
|
|
@@ -32,6 +33,23 @@ export function computeHash(content) {
|
|
|
32
33
|
const normalized = content.replace(/\r\n/g, "\n");
|
|
33
34
|
return createHash("sha256").update(normalized, "utf-8").digest("hex");
|
|
34
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Hash content for a tracked path. AGENTS.md is hashed at the CSTL managed
|
|
38
|
+
* block level (not the whole file) so that in a coexistence repo, upstream
|
|
39
|
+
* edits to the TRELLIS block or user content outside the CSTL block do NOT
|
|
40
|
+
* register as "cursor-trellis template modified" (which would prompt the
|
|
41
|
+
* user on every `cstl update`). Files without a CSTL block (or non-AGENTS
|
|
42
|
+
* paths) hash the whole content.
|
|
43
|
+
*/
|
|
44
|
+
function hashContentForPath(relativePath, content) {
|
|
45
|
+
if (toPosix(relativePath) === FILE_NAMES.AGENTS) {
|
|
46
|
+
const block = extractBlock(content, CSTL_BLOCK_START, CSTL_BLOCK_END);
|
|
47
|
+
if (block !== null) {
|
|
48
|
+
return computeHash(block);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return computeHash(content);
|
|
52
|
+
}
|
|
35
53
|
/**
|
|
36
54
|
* Get path to the hashes file
|
|
37
55
|
*/
|
|
@@ -106,7 +124,7 @@ export function saveHashes(cwd, hashes) {
|
|
|
106
124
|
export function updateHashes(cwd, files) {
|
|
107
125
|
const hashes = loadHashes(cwd);
|
|
108
126
|
for (const [relativePath, content] of files) {
|
|
109
|
-
hashes[toPosix(relativePath)] =
|
|
127
|
+
hashes[toPosix(relativePath)] = hashContentForPath(relativePath, content);
|
|
110
128
|
}
|
|
111
129
|
saveHashes(cwd, hashes);
|
|
112
130
|
}
|
|
@@ -120,7 +138,7 @@ export function updateHashFromFile(cwd, relativePath) {
|
|
|
120
138
|
}
|
|
121
139
|
const content = fs.readFileSync(fullPath, "utf-8");
|
|
122
140
|
const hashes = loadHashes(cwd);
|
|
123
|
-
hashes[toPosix(relativePath)] =
|
|
141
|
+
hashes[toPosix(relativePath)] = hashContentForPath(relativePath, content);
|
|
124
142
|
saveHashes(cwd, hashes);
|
|
125
143
|
}
|
|
126
144
|
/**
|
|
@@ -167,10 +185,23 @@ export function isTemplateModified(cwd, relativePath, hashes) {
|
|
|
167
185
|
if (!storedHash) {
|
|
168
186
|
return true;
|
|
169
187
|
}
|
|
170
|
-
// Compare current content hash with stored hash
|
|
188
|
+
// Compare current content hash with stored hash. AGENTS.md is compared at
|
|
189
|
+
// the CSTL block level (see hashContentForPath). Legacy grace: pre-0.3.3
|
|
190
|
+
// manifests stored a WHOLE-FILE hash for AGENTS.md, so the first 0.3.3
|
|
191
|
+
// update would see a block-hash mismatch. If the whole file still matches
|
|
192
|
+
// the legacy stored hash, treat it as unmodified — the upcoming write will
|
|
193
|
+
// re-store the block hash. This avoids a one-time false "modified" prompt
|
|
194
|
+
// for every existing user on upgrade.
|
|
171
195
|
const currentContent = fs.readFileSync(fullPath, "utf-8");
|
|
172
|
-
const currentHash =
|
|
173
|
-
|
|
196
|
+
const currentHash = hashContentForPath(relativePath, currentContent);
|
|
197
|
+
if (currentHash === storedHash) {
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
if (toPosix(relativePath) === FILE_NAMES.AGENTS &&
|
|
201
|
+
computeHash(currentContent) === storedHash) {
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
return true;
|
|
174
205
|
}
|
|
175
206
|
/**
|
|
176
207
|
* Check if a file matches its original template content
|
|
@@ -288,7 +319,7 @@ export function initializeHashes(cwd, options = {}) {
|
|
|
288
319
|
continue;
|
|
289
320
|
try {
|
|
290
321
|
const content = fs.readFileSync(fullPath, "utf-8");
|
|
291
|
-
hashes[toPosix(relativePath)] =
|
|
322
|
+
hashes[toPosix(relativePath)] = hashContentForPath(relativePath, content);
|
|
292
323
|
}
|
|
293
324
|
catch {
|
|
294
325
|
// Skip files that can't be read (binary, etc.)
|
|
@@ -304,7 +335,7 @@ export function initializeHashes(cwd, options = {}) {
|
|
|
304
335
|
const fullPath = path.join(cwd, relativePath);
|
|
305
336
|
try {
|
|
306
337
|
const content = fs.readFileSync(fullPath, "utf-8");
|
|
307
|
-
hashes[relativePath] =
|
|
338
|
+
hashes[relativePath] = hashContentForPath(relativePath, content);
|
|
308
339
|
}
|
|
309
340
|
catch {
|
|
310
341
|
// Skip files that can't be read (binary, etc.)
|
|
@@ -323,7 +354,7 @@ export function initializeHashes(cwd, options = {}) {
|
|
|
323
354
|
continue;
|
|
324
355
|
try {
|
|
325
356
|
const content = fs.readFileSync(fullPath, "utf-8");
|
|
326
|
-
hashes[toPosix(relativePath)] =
|
|
357
|
+
hashes[toPosix(relativePath)] = hashContentForPath(relativePath, content);
|
|
327
358
|
}
|
|
328
359
|
catch {
|
|
329
360
|
// Skip
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-hash.js","sourceRoot":"","sources":["../../src/utils/template-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"template-hash.js","sourceRoot":"","sources":["../../src/utils/template-hash.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blxzer/cursor-trellis",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
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",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"inquirer": "^9.3.7",
|
|
36
36
|
"undici": "^6.21.0",
|
|
37
37
|
"zod": "^4.4.2",
|
|
38
|
-
"@blxzer/cursor-trellis-core": "0.3.
|
|
38
|
+
"@blxzer/cursor-trellis-core": "0.3.3"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@eslint/js": "^9.18.0",
|