@jefuriiij/synthra 0.1.9 → 0.1.10

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.
@@ -1308,7 +1308,29 @@ var DEFAULT_IGNORE = [
1308
1308
  ".turbo/",
1309
1309
  ".cache/",
1310
1310
  ".vscode/",
1311
- ".idea/"
1311
+ ".idea/",
1312
+ ".vs/",
1313
+ // Flutter / Dart build caches — IDE-rehydrated, contain third-party
1314
+ // type stubs (typescript.d.ts, babylon.js etc.) that contaminate the graph.
1315
+ ".dart_tool/",
1316
+ ".flutter-plugins",
1317
+ ".flutter-plugins-dependencies",
1318
+ // Android / Java / Kotlin / Rust
1319
+ ".gradle/",
1320
+ "target/",
1321
+ // iOS / Xcode
1322
+ "Pods/",
1323
+ "DerivedData/",
1324
+ // Python
1325
+ "__pycache__/",
1326
+ ".venv/",
1327
+ "venv/",
1328
+ ".tox/",
1329
+ ".pytest_cache/",
1330
+ ".mypy_cache/",
1331
+ ".ruff_cache/",
1332
+ // .NET
1333
+ "obj/"
1312
1334
  ];
1313
1335
  var BINARY_EXTS = /* @__PURE__ */ new Set([
1314
1336
  ".png",
@@ -1463,7 +1485,7 @@ import { mkdir as mkdir3, readFile as readFile7, stat as stat2, writeFile as wri
1463
1485
 
1464
1486
  // src/hooks/claude-md.ts
1465
1487
  import { readFile as readFile6, writeFile as writeFile2 } from "fs/promises";
1466
- var POLICY_VERSION = 2;
1488
+ var POLICY_VERSION = 3;
1467
1489
  var POLICY_BEGIN = `<!-- synthra-policy v${POLICY_VERSION} BEGIN -->`;
1468
1490
  var POLICY_END = `<!-- synthra-policy v${POLICY_VERSION} END -->`;
1469
1491
  var ANY_BLOCK_RE = /<!--\s*synthra-policy\s+v\d+\s+BEGIN\s*-->[\s\S]*?<!--\s*synthra-policy\s+v\d+\s+END\s*-->\s*/g;
@@ -1542,14 +1564,20 @@ function policyBlock() {
1542
1564
  "### Session-end resume note",
1543
1565
  "",
1544
1566
  `When the user signals they're done (e.g. "bye", "wrap up", "done"),`,
1545
- "proactively update `.synthra/CONTEXT.md` with:",
1567
+ "persist the resume state by calling `context_remember` once per bullet.",
1568
+ "Synthra re-renders `.synthra/CONTEXT.md` from those entries at session",
1569
+ "end \u2014 do **NOT** write to `CONTEXT.md` directly, it is a derived view",
1570
+ "and direct edits are overwritten by the Stop hook.",
1546
1571
  "",
1547
- "- **Current Task**: one sentence on what was being worked on",
1548
- "- **Key Decisions**: bullet list, max 3 items",
1549
- "- **Next Steps**: bullet list, max 3 items",
1572
+ "Use these `kind` values:",
1550
1573
  "",
1551
- "Keep `CONTEXT.md` under 20 lines total. Don't summarise the conversation",
1552
- "\u2014 write only what's needed to resume next session.",
1574
+ '- **`kind: "task"`** \u2014 what is being worked on right now (1 entry)',
1575
+ '- **`kind: "decision"`** \u2014 non-obvious choices made this session (max 3)',
1576
+ '- **`kind: "next"`** \u2014 concrete next steps (max 3)',
1577
+ "",
1578
+ 'Tag entries with the relevant area (`tags: ["auth"]`) and the files',
1579
+ 'they touch (`files: ["src/auth.ts"]`) so later `context_recall` queries',
1580
+ "can filter. Keep each `text` to 1\u20132 sentences.",
1553
1581
  "",
1554
1582
  "_This block is managed by Synthra. Edits inside the BEGIN/END markers",
1555
1583
  "are overwritten on every `syn .` run._",