forgetrail 0.5.3 → 0.5.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/README.md CHANGED
@@ -54,8 +54,8 @@ Optional hooks in [`content/hooks/`](content/hooks/README.md) load the current p
54
54
  ## xFacts label
55
55
 
56
56
  - **AppFacts:** [viewer](https://appfacts.dev/v#af1.eNp1Uk1r3DAQ_StiTg1o10mOPrUYcihJCCS3UsqsNNaqK2uENHbiLvvfi2x320tvg3hf8zRnmKC90xBxIGjhgbOjt4w-gAaZU30riYxqlDAHHx1oKIIyFmgBjfiJQEPwhmKp4C8JzZF29_vbFWhO0J4hYHQjugr4ihO-muyTaPU2J1pn0JDHKH4J8cyW9j9LTbB5tvDEloLqOAp9iHrJLGw4qE9P3csNaDhykRXYBR5tHzATXDRYSgXab2eI0MLnoYqYVSNtEk2xJ9CQ_u9RKE-UlR9SoIGioHiOcNGr6C-2G_3VHGlANWHwdsEojFbVEpWPPWWKhq6094zRBcob929qZSkFnqvRUvmV4Uh6HyhlKmVjPfhAuwMWsmrZKooaMKJbYsLlu4Yymev6_zSjIUP7pzSVMk_eUlY9Z_VOh-KFFvZh9MHW_0toTujox6peuSmmoRacKXHxwnmugiKptE3jvBzHw97w0HQoGOYiu-Wydo-PXdPXSZYbu_wGeaPbgQ) · [raw](https://github.com/Catalyst-Forge-LLC/forgetrail/blob/main/APP_FACTS.md)
57
- - **ToolFacts:** [viewer](https://toolfacts.dev/v#tf1.eNrFl8Fy2zYQhl9lhye7Iylxe-iMbq4ae9KolkdWm0Mm44HBJYUIBFgAtKrx5N37L0VKquLm0gNvHGAB_N_uYrF8yZ6z6dUoc6ribJrd-FDyKihj6ffZPT1weOaQjbKcn9n6Gt_TbKaSsruYqDXGJEyi8Q5Tbyc_Ta7eYigmlZqIEaWTeRYjazS7KGdc10qvefzjRAw3xuUYq3Q9jv1hoXHJiJyXjP9m3aT95tZrZcd18JpjhFkKysXah4S5mHLjs6-jTAfOGcuVjbI-8F-NwVA2_fQZs1wGWYuJxJYrTmGHxc47bhljMk7JabGzT97LPp9eev88K2tylcRFGtJLQTU5P3JRsE4CHFjlwsCAlIMKYznCW1yJTA0fyrTjtPVhczy8w2JsUUA743DsW9U-gSabptAwjJpQ-9aHf3Y6aFJIEJJE7I3sWFi_fUydusmX6B1dGGeNY_rtYXFHPpCvBVFZOkqjWqX1JalSGYfARsSnUqRcTvVaRabQwBLuPfihfpW9Y3mdvZv8v-Qz7xxLUpm0I-jUmykFTk1wkfxmBBK9USVTl5Qjulksb9-tltfv54_LxWI1arG2a05rDvRxsfxwM198nFQYU5EK3yAfT0Dh23txwW0DfzvNw0AvW0BCwq597q0vd1R2giA5kKLuglZY3sXs4mr88-UpSmQV9HqOYyXBB-F4aCUQXE8nlca2kgj5rJ5E-dOONrzDQeeRWGFni6wfNAjqVHruddP6PHXSqAi-kuH45gck1SkAytp1k5s0sPqIGY1vzkmJHMJGVZ3aPJLA6CaENouC_wJ9dJF7juS8lAXlWhMREnHRmEyKbIvLszjN5FpaE4dG7RF0r6e7LJUcmrA3dcxFY-3R6jzrumr60FbFQZF6579S5buaHbhghA-F6t8Q13gT71VKHIa6-x1Cf2Mk_aBpXHei9hdHAE-q3HklDr59wNFR_Oq1xCPHwzQoznZtUNAAdagAkZIntCFSDIwj0bCvyGcwd7y93-fnB6M3vigG5YBf2RWGbU5P3icUCVXjLd1Zr3JgaItS4UoUDxUQLupzr31MDw3FrAkRN-qbbmGzB7w9nDHQ6wM1hEf-NefT1qR1B8p7jiUwSPZoIZ2HOwJ2AP734e78fv2wkN_Iagl9k9o7dhIpitJOocP-r_T8pc-HQRMUvyPjwgTUcGlR5QmTPl3uWpuTqOonKdwX_h4ZbfdOsvXk5TYOS8UVgWt_xn40m5uBu422VTp2sPP3q3fSq8pvj3pC8LowC3Hy2tvvkvxRyz9DHBxItFCzF3MoKfI0o-aXEqeehkpV47J9lp-9xmnY5_uNv_4DNJk1_w) · [raw](https://github.com/Catalyst-Forge-LLC/forgetrail/blob/main/mcp-server/TOOL_FACTS.md)
58
- - **SkillFacts:** [viewer](https://skillfacts.dev/v#sf1.eNq9lN9v20YMx_-Vg_rSGJHspsA26C1LmmKo1xqzsZcoMGSZtq6W7oy7Uzyj6d-19_1lI3n65dhe1wItgqQVyePxSH4_n4LHIH51Gai0hCAOVtqswZlUFsFlsIRHKPQWDDpuUpcWe-vEHUWg8xGMlVqhaxS9jkZosS51lUVDmjn5SDGFzEBZynu9TbMcwisO3Ei1RFtWGatNaDeyoNu2ldlqDn6jsIwMhMvBXzejgsTP4TZPLYhCriDbZwWIVC1FmUrl8FdEXe3DnTabVaF3c_zM8Lp19NFqJVLLOS2-A0qhV8JAps2SLjf6EVSqMrz_U2B1Zeh_Qe7c1sbD4Vq6vFpEmS6HTSNCriwcj2-GB03bVotC2vxU0z5fBlJZZyrsj1Z2bgCbwvflgC2IA_hriy2TDtMocPQINMoSjUBFrmQBvnY04-FluDPScV6ndUEJV2AAH4Htvf_q4oeLQi-G1M9hmW1DCwZnPJx9-DCe313fzKZRSUVg8ITG8LaSS-7XZWAqdV0tuWwLqcnyMVhst6UtSQsMczRBngOFVOs1WDetFukalLvFEZQ4eEk98flngE_GQ_7rPewmRn-EzL2T2UavVt78B9iqhCnehOd-67U1eLgMFpVaFrCcp8bJFa4jbuU9mmFtMJ467qCAEp-9x04qrYC33TqpUp8Dw7GruS5hi1X2NqFrV4TyoMcDF6851Tfsi0l3eDAMw0SxEuZc77yWVywS1NeraJQEiSKNxqI7nahWobE43LVEHSR47RN4hcbCCzRRtT5j0ckzUaTOWPTFmaham5TsR4uT6m7mEIvTY0hUN4Uu5v8OAZ_Xqj9OlBBe_t-SSIhW_scTOda-v43EH4tG-2SqxR-LWvtk68Qfi077iXqufM4Ziu8gfp_4uf69tUGA_zqggDc9B0Ed-B8saK9rcNAajojQes5CIVFHSOBG3T8kylOBP1ssxIKoQKY-FmKOx0rBYD2-1fSoWFyNrn4KR7-EVyOy1REalyBHGYRp5XJtaI4Z_pX13W2e-Q6H1K0ba45L9LstxKKShZsv9qS_w63qTXq320VZ7eS58tBJPgyXRL0QU8os7ig1HuwvbqKeBP7gPxjMv2QZDG4bwAwG6H92dx3zpycNRzBqGseUccN2T5zGMfbcYU-Hnsb7DgHErj6DyJkoPNngBVdiv9B6I6h5rXq8mpg9nUh62hGsu0hMNILJitT1Gfb7zUTMUE7coGjAPXshJp599PXD2VdX0OLp3KCmTCx0fK3sfc8nDbROzphr6IvJN_FsLTyBp24kbH3vkYb2mmnefNdN5qk_seZaGgfd19CNzN8JbqfQ1gfbEdZOQe1LSHsGtHM4-xLMuDe_eqKJlmhkf0ncuqgj3jDZzg1q1sAOfXTKT-S2xzt0-Hx-HsyRwdsGW1559wwVlszDy9MIuxD__I3VIsPEYi_uDzesO3QaYBeow-Dzv2dji3E) · [raw](https://github.com/Catalyst-Forge-LLC/forgetrail/blob/main/content/skills/forgetrail/SKILL_FACTS.md)
57
+ - **ToolFacts:** [viewer](https://toolfacts.dev/v#tf1.eNrFl01vGzcQhv_KgKekWCmOW_Rjb66bBEGc2HBc5BAEAU3O7jLictjhrFTV8H8vZndlq2qaSw-6CSuS8z6cT96ZtamfVybZHk1tXhK3eMM2RHh7fgXvkdfIpjIe1xgpI5vanFuxcVsExsWmMmvkEiiZ2pwsf1h-bypTxMpQTG2sk7DWNTE4TEVNnGXrOlycLk9MZVYheVOb3uVF2dniIUlQNXcG_0Q3yHR2JGfjIjM5LMVURtimkonF1KaID2TuK-MYPSYJNhbdz_jHEBi9qT9-uq8Mtqx76zsjGLFH4a2pTaKEI2KRkKxaK_N6IdJzPt7trmdtY_BW9IbcKqRWUYPHz9g06ESBGa1XBrSuU0NNiFi2RbBXmY4y6t8JZUO8ejQ-Y2ExdWNjwfvKBI99JsEkphYesDJ54EzjHZ5HW0potmBBz2kibT7LrGn5pVACtbuEM8gUkiBDKGCdwyzo9fOGg9jbiODJDT0mGReAo9TE4GRp7qsH6PxV0Fn410HnP_83JqWEGkFBtuA6dKsaGGXgVIBWFWTrVrZFmAOwgpeX169e3Fyfvb74fH15eVOBTR42HUqHDB8ur9-8vLj8sOw9bGyBhobk90FblKvOFnw1BG-Tw-NAX4-A0KN05ClSu4V2FgQNMViYk3F0W1bB8OT54qen-ygFLbvuAkvRaD4Kx_tRAkiHsFdV4igJvBV7q8pvt7DC7Yb40BM32Odo5bhOsPvSH1JFZmnQMPX6uTz7btn_A4CHdDb4IEdWX4QHJwOjB6tyIDP1WcY4Use4gXmMIqYv6ASeeMICiQSKs2lcokJKtg4hSMHYPD3w07mmZQzl2Kg7BLfTMydLr0aFEsLM3AwxPq46jLq5iL53Hfb2qEiqdYZaMDpiD4wNMiaHS7jpECK21m1hV_ihdDajFnIl70PLYzOrRn9aSLiZusIB8lmScGVFkI9VKWbgXX5psCYJizyLmtJMr2OvJh7Wbaaxt4c1_kZOveeHeNzasemC6xTqoV4UEALHqKUjJFANU_0-gHmHm6vJ8W-CW1HTHJWjZcTUBIwebomkCNsM2W4jWT_lWM4RfYv8DEIKOnuFv8bIG7svZf1pI5wPXIiBh4hlH3g1Mb56MHOkdmV7BFvga_cPmyAdhOTi4HHiuB4igp4xQiaCbNn2KMjfhntH0_7jQv5L1khIg4xptucpKDp_UfrPCP11FxJHjdG351eLJnARCGnqeTrFa7oVsazVby-Kd51ih-wob7V87rX6kITGq2DMdMD-uOwiHHk8GWerx5H34vXNCx1u9VE0Dvezm5VYyFH8JsnvWV825ehAqgWGSczkPuSxzkRqW_XTjgZam4u5_1SZFhOyFX3n3RndaGpzenL64-Lkl8Xpz-ZhAenztbPJL-wgHelY9GR840FIa0xCvJ2aTaM3I3ozi95lGJ-1OvgY4SG5yZIi3P8NruJhFA) · [raw](https://github.com/Catalyst-Forge-LLC/forgetrail/blob/main/mcp-server/TOOL_FACTS.md)
58
+ - **SkillFacts:** [viewer](https://skillfacts.dev/v#sf1.eNqdUsFu2zAM_RWDZzvutsMA3YpsHYYFa7HkVhSFItM2F1kSSMpdUOTfB9kb1gK7bDeBenzv8ZHPMIN5U0OwE4KBPvKAypY81NDhjD4mZDCwtWr9WbS6KQioYUYWigEMXG3eba6gBlGrWcCAdUpzwXhyGKTwXifrRmzeLsAThQ4MuMwSuZET-aKWMqe4gD-GPrLDSkdc5Q7FUPW-SaMVrDz16M7OY2VDV02WgloKlU3JYzcgt5WVpVfOojhVsa8YXeSuiHCcMdjgEMwzSMxcXjCqJjFtO5CO-bhxcWp_D9wsDprdbtu-CifloycZ_xbOpQYKopydUgzyyGjduOiN6D0YwB_JkyOFGgLqU-QTGKApecJisiePq3cwwGi75olJF16N0RfCHhmDww7M_T-bb48-HtuSWzu51AjyjNwebm93jzfX28N-MxUTA-pdiftTpm7Jaylt45RsoBj2eRhQlvmgBs7hOnfLQIKW3bhDkfVrtp46q2WH7kRhKJC1d5-PdsCgH9DFKUWhwrbKHHBK3uov0a_4dMfxOzr9Qu4U-34tf0PJE-5Ryh1-fhE4PNRwzKHz2D1aVuqtUwFz_1ADDowiZReKHidUPoOBEAMu9y5Kwa4c5v7hUsMYJ0x2eHkjf4LcdDiX4XExHxeq_7gk5Ryc1bJM5YyXn2iPRHc) · [raw](https://github.com/Catalyst-Forge-LLC/forgetrail/blob/main/content/skills/forgetrail/SKILL_FACTS.md)
59
59
 
60
60
  ## Development
61
61
 
@@ -17,7 +17,7 @@ Public shelf (current versions and install): [catalystforge.com/tools](https://c
17
17
  3. FilePress publishes **Markdown**. It does not replace an interactive SvelteKit app.
18
18
  4. LocalSlip and LocalHelm are for **two or more** local apps, not a first single project. If they accept LocalSlip, use the recipes below. Do not write `ensure-lease.mjs`.
19
19
  5. Practice skills: install the one that matches the current job, not the set.
20
- 6. xFacts is the house standard for a **shipped** product (public URL or handoff). One-shots may skip.
20
+ 6. Offer an xFacts label when a product ships (public URL or handoff). Generate one only if the user accepts. Record the subject disposition in `appledger/` either way.
21
21
 
22
22
  ---
23
23
 
@@ -190,7 +190,7 @@
190
190
  {
191
191
  "name": "Gap Last",
192
192
  "homepage": "https://gaplast.dev",
193
- "offer": "Gap Last separates observations, constraints, and remaining questions, then proposes hypotheses. A hypothesis is not the established cause. Log leftovers in gotchas[]."
193
+ "offer": "Gap Last separates observations, constraints, and remaining questions, then proposes hypotheses. A hypothesis is not the established cause. Record leftovers as open question records in appledger/."
194
194
  }
195
195
  ]
196
196
  },
@@ -203,7 +203,7 @@
203
203
  {
204
204
  "name": "xFacts",
205
205
  "homepage": "https://xfacts.dev",
206
- "offer": "xFacts labels (AppFacts and neighbors) are the house standard for shipped products. Write a label when the product is public or handed off. A validator checks shape, not truth."
206
+ "offer": "When the product is public or handed off, offer an xFacts label (AppFacts and neighbors). Record the subject disposition either way, and bind an existing label with appledger bind. A validator checks shape, not truth."
207
207
  }
208
208
  ]
209
209
  },
@@ -16,7 +16,7 @@ After substantive work, if you find something that **should be fixed or clarifie
16
16
  - Errors in the Lite defaults for **pnpm + TypeScript + monorepos** or **Cursor/agent** workflows.
17
17
  - Doc structure suggestions (which § to patch).
18
18
 
19
- **Do not** log routine bug fixes or product-only notes; use `.forgetrail/workflow_tracking.json → gotchas[]` for session-local incidents. **Do** log items a **future agent bootstrapping any ForgeTrail Lite project** would benefit from if the upstream file were updated.
19
+ **Do not** log routine bug fixes or product-only notes; record a session-local incident as a lesson or open question record in `appledger/`. **Do** log items a **future agent bootstrapping any ForgeTrail Lite project** would benefit from if the upstream file were updated.
20
20
 
21
21
  ## How to write an entry
22
22
 
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * ForgeTrail Shell Guard
5
5
  * Hook event: beforeShellExecution (Cursor) / PreToolUse (Claude Code)
6
- * Enforces Lite §0, git commit attribution rules, pnpm consistency, and git push guards.
6
+ * Enforces Lite §0, verify-before-commit, pnpm consistency, and git push guards.
7
7
  */
8
8
 
9
9
  import { readFileSync, existsSync } from "node:fs";
@@ -33,7 +33,7 @@ egress:
33
33
  telemetry: none
34
34
  destinations: []
35
35
  generated:
36
- date: 2026-08-20
36
+ date: 2026-09-26
37
37
  generator: hand-authored
38
38
  credits:
39
39
  generated_with: https://skillfacts.dev
package/docs/NPM.md CHANGED
@@ -10,12 +10,12 @@ Two public unscoped packages:
10
10
 
11
11
  | Package | This tree | On npm until you publish | From | What it is |
12
12
  | --- | --- | --- | --- | --- |
13
- | [`forgetrail`](https://www.npmjs.com/package/forgetrail) | 0.5.2 | 0.5.2 | repo root | CLI + Lite + templates. `pnpm dlx forgetrail install --lite` |
14
- | [`forgetrail-mcp`](https://www.npmjs.com/package/forgetrail-mcp) | 0.4.2 | 0.4.1 | `mcp-server/` | MCP bin. Depends on `forgetrail` for content. `pnpm dlx forgetrail-mcp` |
13
+ | [`forgetrail`](https://www.npmjs.com/package/forgetrail) | 0.5.3 | 0.5.3 | repo root | CLI + Lite + templates. `pnpm dlx forgetrail install --lite` |
14
+ | [`forgetrail-mcp`](https://www.npmjs.com/package/forgetrail-mcp) | 0.4.3 | 0.4.2 | `mcp-server/` | MCP bin. Depends on `forgetrail` for content. `pnpm dlx forgetrail-mcp` |
15
15
 
16
16
  These are **installer and MCP channels**, not a library. App repos should not add `forgetrail` to `dependencies`.
17
17
 
18
- `forgetrail@0.5.2` is on npm. This tree has Lite v2.2.1 and a new installer `Next:` step that are not in `0.5.2`, so `forgetrail` needs a version bump before its next publish. `forgetrail-mcp@0.4.2` is this tree and is not published yet. It adds `forgetrail` as a dependency and returns an explicit error when content is missing. `0.4.1` remains the registry copy until you publish from `mcp-server/`. `pnpm run pack:check` is the gate. It does not publish.
18
+ `forgetrail@0.5.3` and `forgetrail-mcp@0.4.2` are on npm. This tree adds `forgetrail --version`, forgetrail.dev `llms.txt`, and companion text that names `appledger/`, so `forgetrail` needs a version bump before its next publish. `forgetrail-mcp@0.4.3` changes the startup banner and the `ingestPlanArtifact` description, and is not published yet. `getCompanionSuggestions` reads its text from the installed `forgetrail`, so the new companion text reaches MCP users only after `forgetrail` is published. `pnpm run pack:check` is the gate. It does not publish.
19
19
 
20
20
  ---
21
21
 
@@ -63,7 +63,7 @@ pnpm dlx forgetrail@<version> --help
63
63
  pnpm dlx forgetrail@<version> install --lite --dry-run
64
64
 
65
65
  # MCP starts and reads content from its forgetrail dependency. ping should not say "content missing".
66
- pnpm dlx forgetrail-mcp@0.4.2
66
+ pnpm dlx forgetrail-mcp@0.4.3
67
67
  ```
68
68
 
69
69
  Optional Cursor MCP (content from a `forgetrail` install, or set the path):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forgetrail",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "private": false,
5
5
  "description": "ForgeTrail: a persistent development system for building software with AI agents. CLI, Lite protocol, and methodology templates.",
6
6
  "license": "Apache-2.0",
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ import { readFileSync } from "node:fs";
3
4
  import { cwd } from "node:process";
4
5
  import {
5
6
  INSTALL_FULL_HELP,
@@ -39,6 +40,7 @@ Install options:
39
40
  --skip-tracking Accepted and ignored. A tracking JSON file is not installed.
40
41
  --path, -p <dir> Install elsewhere (default: current directory)
41
42
  --help, -h Show help
43
+ --version, -v Print the forgetrail version
42
44
 
43
45
  First-time prove-it (no MCP): see TRY_FORGETRAIL.md in the ForgeTrail repo.
44
46
  Run \`forgetrail mcp --help\` for all MCP subcommands.
@@ -54,6 +56,12 @@ function main() {
54
56
 
55
57
  const cmd = argv[0];
56
58
 
59
+ if (cmd === "--version" || cmd === "-v") {
60
+ const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"));
61
+ console.log(pkg.version);
62
+ process.exit(0);
63
+ }
64
+
57
65
  if (cmd === "mcp") {
58
66
  runMcpCommand(argv.slice(1));
59
67
  return;