claude-prism 1.2.2 → 1.2.4
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/lib/installer.mjs
CHANGED
|
@@ -201,16 +201,15 @@ export function uninstall(projectDir) {
|
|
|
201
201
|
export async function update(projectDir) {
|
|
202
202
|
// Self-update detection: if running inside the claude-prism source repo,
|
|
203
203
|
// use local templates instead of the npx-downloaded package templates
|
|
204
|
+
let sourceRepo = false;
|
|
204
205
|
const localPkgPath = join(projectDir, 'package.json');
|
|
205
206
|
if (existsSync(localPkgPath)) {
|
|
206
207
|
try {
|
|
207
208
|
const localPkg = JSON.parse(readFileSync(localPkgPath, 'utf8'));
|
|
208
209
|
if (localPkg.name === 'claude-prism') {
|
|
209
|
-
// We're in the source repo — use local templates directly
|
|
210
210
|
const localRulesPath = join(projectDir, 'templates', 'rules.md');
|
|
211
211
|
if (existsSync(localRulesPath)) {
|
|
212
|
-
|
|
213
|
-
return { sourceRepo: true };
|
|
212
|
+
sourceRepo = true;
|
|
214
213
|
}
|
|
215
214
|
}
|
|
216
215
|
} catch { /* not our package, proceed normally */ }
|
|
@@ -286,6 +285,14 @@ export async function update(projectDir) {
|
|
|
286
285
|
}
|
|
287
286
|
|
|
288
287
|
await init(projectDir, { hooks });
|
|
288
|
+
|
|
289
|
+
// Source repo: re-inject rules from local templates (overrides the npx version)
|
|
290
|
+
if (sourceRepo) {
|
|
291
|
+
const localRulesPath = join(projectDir, 'templates', 'rules.md');
|
|
292
|
+
injectRules(projectDir, localRulesPath);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
return sourceRepo ? { sourceRepo: true } : undefined;
|
|
289
296
|
}
|
|
290
297
|
|
|
291
298
|
/**
|
package/package.json
CHANGED
|
@@ -5,9 +5,9 @@ When this command is invoked, follow the EUDEC framework strictly:
|
|
|
5
5
|
## E — ESSENCE
|
|
6
6
|
|
|
7
7
|
0. **Extract the essence**: Before exploring code, ask: "What is the core problem here — in one sentence, without naming specific tools?"
|
|
8
|
-
- Output:
|
|
9
|
-
- Output:
|
|
10
|
-
- Output:
|
|
8
|
+
- Output: `Essence: [one sentence]`
|
|
9
|
+
- Output: `Minimal case: [simplest working version]`
|
|
10
|
+
- Output: `Expansion path: minimal → [step1] → [step2] → [complete]`
|
|
11
11
|
1. **Verify essence quality**:
|
|
12
12
|
- Does the essence sentence avoid specific technology names? If not → still at solution level, go higher
|
|
13
13
|
- Is the minimal case truly minimal? Can it be reduced further?
|
|
@@ -35,9 +35,9 @@ AI agents optimize for speed, not correctness. Without structure, they skip unde
|
|
|
35
35
|
## E — ESSENCE
|
|
36
36
|
|
|
37
37
|
0. **Extract the essence**: Before exploring code, ask: "What is the core problem here — in one sentence, without naming specific tools?"
|
|
38
|
-
- Output:
|
|
39
|
-
- Output:
|
|
40
|
-
- Output:
|
|
38
|
+
- Output: `Essence: [one sentence — no technology/tool names]`
|
|
39
|
+
- Output: `Minimal case: [simplest working version]`
|
|
40
|
+
- Output: `Expansion path: minimal → [step1] → [step2] → [complete]`
|
|
41
41
|
1. **Verify essence quality**:
|
|
42
42
|
- Does the essence sentence avoid specific technology names? If not → still at solution level, go higher
|
|
43
43
|
- Is the minimal case truly minimal? Can it be reduced further?
|