xtrm-tools 0.7.7 → 0.7.9

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.
Files changed (123) hide show
  1. package/.xtrm/config/hooks.json +0 -3
  2. package/.xtrm/registry.json +537 -565
  3. package/.xtrm/skills/default/gitnexus-cli/SKILL.md +82 -0
  4. package/.xtrm/skills/default/gitnexus-exploring/SKILL.md +78 -0
  5. package/.xtrm/skills/default/gitnexus-guide/SKILL.md +64 -0
  6. package/.xtrm/skills/default/init-session/SKILL.md +3 -0
  7. package/.xtrm/skills/default/last30days/SKILL.md +1 -1
  8. package/.xtrm/skills/default/last30days/scripts/lib/youtube_yt.py +59 -40
  9. package/.xtrm/skills/default/sync-docs/references/doc-structure.md +1 -1
  10. package/.xtrm/skills/default/sync-docs/references/schema.md +1 -1
  11. package/.xtrm/skills/default/sync-docs/scripts/doc_structure_analyzer.py +2 -2
  12. package/.xtrm/skills/default/using-specialists/SKILL.md +346 -138
  13. package/.xtrm/skills/default/using-specialists/SKILL.safe.md +1082 -0
  14. package/.xtrm/skills/default/using-specialists/SKILL.ultra.md +1082 -0
  15. package/.xtrm/skills/default/vaultctl/SKILL.md +150 -0
  16. package/CHANGELOG.md +4 -4
  17. package/cli/dist/index.cjs +328 -192
  18. package/cli/dist/index.cjs.map +1 -1
  19. package/cli/package.json +1 -1
  20. package/package.json +8 -8
  21. package/packages/pi-extensions/MIGRATION_NOTES.md +39 -0
  22. package/packages/pi-extensions/README.md +43 -0
  23. package/packages/pi-extensions/extensions/README.md +5 -0
  24. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/beads/index.ts +1 -1
  25. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/beads/package.json +1 -4
  26. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/custom-footer/index.ts +1 -1
  27. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/custom-footer/package.json +1 -4
  28. package/packages/pi-extensions/extensions/custom-provider-qwen-cli/package.json +16 -0
  29. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/pi-serena-compact/package.json +9 -2
  30. package/{.xtrm/ext-src → packages/pi-extensions/extensions}/quality-gates/index.ts +1 -1
  31. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/quality-gates/package.json +1 -4
  32. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/service-skills/index.ts +1 -1
  33. package/{.xtrm/ext-src → packages/pi-extensions/extensions}/service-skills/package.json +1 -4
  34. package/{.xtrm/ext-src → packages/pi-extensions/extensions}/session-flow/index.ts +1 -1
  35. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/session-flow/package.json +1 -4
  36. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/xtrm-loader/index.ts +1 -1
  37. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/xtrm-loader/package.json +1 -4
  38. package/{.xtrm/config/pi → packages/pi-extensions}/extensions/xtrm-ui/index.ts +1 -1
  39. package/packages/pi-extensions/package.json +46 -0
  40. package/packages/pi-extensions/src/core/README.md +9 -0
  41. package/{.xtrm/ext-src/core/lib.ts → packages/pi-extensions/src/core/index.ts} +3 -1
  42. package/packages/pi-extensions/src/extensions/auto-session-name.ts +3 -0
  43. package/packages/pi-extensions/src/extensions/auto-update.ts +3 -0
  44. package/packages/pi-extensions/src/extensions/beads.ts +3 -0
  45. package/packages/pi-extensions/src/extensions/compact-header.ts +3 -0
  46. package/packages/pi-extensions/src/extensions/custom-footer.ts +3 -0
  47. package/packages/pi-extensions/src/extensions/custom-provider-qwen-cli.ts +3 -0
  48. package/packages/pi-extensions/src/extensions/git-checkpoint.ts +3 -0
  49. package/packages/pi-extensions/src/extensions/lsp-bootstrap.ts +3 -0
  50. package/packages/pi-extensions/src/extensions/pi-serena-compact.ts +3 -0
  51. package/packages/pi-extensions/src/extensions/quality-gates.ts +3 -0
  52. package/packages/pi-extensions/src/extensions/service-skills.ts +3 -0
  53. package/packages/pi-extensions/src/extensions/session-flow.ts +3 -0
  54. package/packages/pi-extensions/src/extensions/xtrm-loader.ts +3 -0
  55. package/packages/pi-extensions/src/extensions/xtrm-ui.ts +3 -0
  56. package/packages/pi-extensions/src/index.ts +9 -0
  57. package/packages/pi-extensions/src/registry.ts +52 -0
  58. package/packages/pi-extensions/src/shared/index.ts +1 -0
  59. package/packages/pi-extensions/src/shared/legacy-path-map.ts +23 -0
  60. package/.xtrm/config/pi/extensions/core/package.json +0 -18
  61. package/.xtrm/config/pi/extensions/custom-provider-qwen-cli/package.json +0 -1
  62. package/.xtrm/config/pi/extensions/quality-gates/index.ts +0 -66
  63. package/.xtrm/config/pi/extensions/service-skills/package.json +0 -19
  64. package/.xtrm/config/pi/extensions/session-flow/index.ts +0 -96
  65. package/.xtrm/config/pi/extensions/xtrm-ui/themes/pidex-dark.json +0 -89
  66. package/.xtrm/config/pi/extensions/xtrm-ui/themes/pidex-light.json +0 -89
  67. package/.xtrm/ext-src/auto-session-name/index.ts +0 -29
  68. package/.xtrm/ext-src/auto-session-name/package.json +0 -16
  69. package/.xtrm/ext-src/auto-update/index.ts +0 -71
  70. package/.xtrm/ext-src/auto-update/package.json +0 -16
  71. package/.xtrm/ext-src/beads/index.ts +0 -232
  72. package/.xtrm/ext-src/beads/package.json +0 -19
  73. package/.xtrm/ext-src/compact-header/index.ts +0 -69
  74. package/.xtrm/ext-src/compact-header/package.json +0 -16
  75. package/.xtrm/ext-src/core/adapter.ts +0 -52
  76. package/.xtrm/ext-src/core/guard-rules.ts +0 -100
  77. package/.xtrm/ext-src/core/logger.ts +0 -45
  78. package/.xtrm/ext-src/core/package.json +0 -18
  79. package/.xtrm/ext-src/core/runner.ts +0 -71
  80. package/.xtrm/ext-src/core/session-state.ts +0 -59
  81. package/.xtrm/ext-src/custom-footer/index.ts +0 -398
  82. package/.xtrm/ext-src/custom-footer/package.json +0 -19
  83. package/.xtrm/ext-src/custom-provider-qwen-cli/index.ts +0 -363
  84. package/.xtrm/ext-src/custom-provider-qwen-cli/package.json +0 -1
  85. package/.xtrm/ext-src/git-checkpoint/index.ts +0 -53
  86. package/.xtrm/ext-src/git-checkpoint/package.json +0 -16
  87. package/.xtrm/ext-src/lsp-bootstrap/index.ts +0 -134
  88. package/.xtrm/ext-src/lsp-bootstrap/package.json +0 -17
  89. package/.xtrm/ext-src/pi-serena-compact/index.ts +0 -121
  90. package/.xtrm/ext-src/pi-serena-compact/package.json +0 -16
  91. package/.xtrm/ext-src/quality-gates/package.json +0 -19
  92. package/.xtrm/ext-src/service-skills/index.ts +0 -108
  93. package/.xtrm/ext-src/session-flow/package.json +0 -19
  94. package/.xtrm/ext-src/xtrm-loader/index.ts +0 -152
  95. package/.xtrm/ext-src/xtrm-loader/package.json +0 -19
  96. package/.xtrm/ext-src/xtrm-ui/format.ts +0 -282
  97. package/.xtrm/ext-src/xtrm-ui/index.ts +0 -1112
  98. package/.xtrm/ext-src/xtrm-ui/package.json +0 -21
  99. /package/.xtrm/{ext-src → config/pi/extensions}/custom-footer/.pi/structured-returns/83051fe4-97da-4e2c-bdaa-343b32f4e714.combined.log +0 -0
  100. /package/.xtrm/{ext-src → config/pi/extensions}/custom-footer/.pi/structured-returns/83051fe4-97da-4e2c-bdaa-343b32f4e714.stderr.log +0 -0
  101. /package/.xtrm/{ext-src → config/pi/extensions}/custom-footer/.pi/structured-returns/83051fe4-97da-4e2c-bdaa-343b32f4e714.stdout.log +0 -0
  102. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/auto-session-name/index.ts +0 -0
  103. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/auto-session-name/package.json +0 -0
  104. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/auto-update/index.ts +0 -0
  105. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/auto-update/package.json +0 -0
  106. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/compact-header/index.ts +0 -0
  107. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/compact-header/package.json +0 -0
  108. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/custom-provider-qwen-cli/index.ts +0 -0
  109. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/git-checkpoint/index.ts +0 -0
  110. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/git-checkpoint/package.json +0 -0
  111. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/lsp-bootstrap/index.ts +0 -0
  112. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/lsp-bootstrap/package.json +0 -0
  113. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/pi-serena-compact/index.ts +0 -0
  114. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/xtrm-ui/format.ts +0 -0
  115. /package/{.xtrm/config/pi → packages/pi-extensions}/extensions/xtrm-ui/package.json +0 -0
  116. /package/{.xtrm/config/pi/extensions → packages/pi-extensions/src}/core/adapter.ts +0 -0
  117. /package/{.xtrm/config/pi/extensions → packages/pi-extensions/src}/core/guard-rules.ts +0 -0
  118. /package/{.xtrm/config/pi/extensions → packages/pi-extensions/src}/core/lib.ts +0 -0
  119. /package/{.xtrm/config/pi/extensions → packages/pi-extensions/src}/core/logger.ts +0 -0
  120. /package/{.xtrm/config/pi/extensions → packages/pi-extensions/src}/core/runner.ts +0 -0
  121. /package/{.xtrm/config/pi/extensions → packages/pi-extensions/src}/core/session-state.ts +0 -0
  122. /package/{.xtrm/ext-src/xtrm-ui/themes → packages/pi-extensions/themes/xtrm-ui}/pidex-dark.json +0 -0
  123. /package/{.xtrm/ext-src/xtrm-ui/themes → packages/pi-extensions/themes/xtrm-ui}/pidex-light.json +0 -0
@@ -0,0 +1,150 @@
1
+ ---
2
+ name: vaultctl
3
+ description: >
4
+ Use this skill whenever you need to search, read, write, or manage notes in an Obsidian vault
5
+ using the vaultctl CLI. Trigger whenever the user asks to find a note, search the vault, create
6
+ or update a note, check vault stats, navigate the vault structure, or audit note health.
7
+ Also trigger when the user asks "how do I use vaultctl" or wants to understand vault CLI usage.
8
+ If you're about to run any vault operation and aren't sure of the right command or flags,
9
+ consult this skill first.
10
+ ---
11
+
12
+ # vaultctl — Vault CLI for Agents
13
+
14
+ `vaultctl` is a zero-dependency CLI for searching and managing an Obsidian vault using SQLite FTS5.
15
+ No server, no embeddings, no container — fast local BM25 search with full CRUD.
16
+
17
+ ## Config
18
+
19
+ `~/.config/vaultctl/config.toml` — check this if unsure which sources are active:
20
+
21
+ ```toml
22
+ [[sources]]
23
+ id = "vault"
24
+ root = "/home/dawid/second-mind"
25
+ include_glob = "**/*.md"
26
+ exclude_glob = ".worktrees/**"
27
+
28
+ [[sources]]
29
+ id = "transcripts"
30
+ root = "/home/dawid/dev/transcriptoz/transcripts"
31
+ include_glob = "**/*.analysis.md"
32
+ ```
33
+
34
+ Database: `~/.local/share/vaultctl/index.db`
35
+
36
+ ## Core Commands
37
+
38
+ Always use `--json` when consuming output programmatically.
39
+
40
+ ### Search
41
+ ```bash
42
+ vaultctl "query terms" --json # search all sources
43
+ vaultctl "query" --folder concetti-schemi --json # scope to subfolder
44
+ vaultctl "query" --tag mechanics --json # filter by frontmatter tag
45
+ vaultctl "query" --status permanent --json # filter by status field
46
+ vaultctl "query" --source transcripts --json # specific source only
47
+ vaultctl "query" -n 10 --json # more results (default: 5)
48
+ ```
49
+
50
+ **Result shape:**
51
+ ```json
52
+ [
53
+ {
54
+ "score": -4.84,
55
+ "source_id": "vault",
56
+ "rel_path": "concetti-schemi/repo-market.md",
57
+ "title": "repo-market",
58
+ "snippet": "...matched text with context...",
59
+ "tags": ["mechanics", "repo"],
60
+ "status": "permanent"
61
+ }
62
+ ]
63
+ ```
64
+
65
+ Score is negative BM25 — less negative = more relevant. Top result is index 0.
66
+
67
+ ### Index
68
+ ```bash
69
+ vaultctl index --json # incremental (skips unchanged files by mtime)
70
+ vaultctl index --full --json # full rebuild
71
+ vaultctl index --source vault --json # single source only
72
+ vaultctl status --json # check index health before querying
73
+ ```
74
+
75
+ Run `vaultctl index` if search returns stale or missing results. Index auto-bootstraps on first use.
76
+
77
+ ### Note Operations
78
+ ```bash
79
+ vaultctl note read "path/to/note.md" --json
80
+ vaultctl note write "path/to/note.md" --text "# Title\ncontent" --json
81
+ vaultctl note append "path/to/note.md" --text "\n## New section\n..." --json
82
+ vaultctl note delete "path/to/note.md" --yes --json
83
+ vaultctl note index "path/to/note.md" --json # re-index after external edit
84
+ vaultctl note links "path/to/note.md" --json # suggested wikilinks
85
+ ```
86
+
87
+ Paths are relative to the source root. Write/append/delete auto-reindex after the operation.
88
+
89
+ **Read result shape:**
90
+ ```json
91
+ {
92
+ "success": true,
93
+ "source": "vault",
94
+ "file_path": "concetti-schemi/repo-market.md",
95
+ "content": "...",
96
+ "metadata": {
97
+ "note_title": "repo-market",
98
+ "folder": "concetti-schemi",
99
+ "tags": ["mechanics", "repo"],
100
+ "status": "permanent",
101
+ "wikilinks": ["[[primary-dealer]]"]
102
+ }
103
+ }
104
+ ```
105
+
106
+ ### Navigation
107
+ ```bash
108
+ vaultctl find "pattern" --source vault --json # glob file search
109
+ vaultctl tree concetti-schemi --depth 2 --json # directory tree
110
+ vaultctl context vault:path/to/note.md --json # note + backlinks context
111
+ ```
112
+
113
+ `context` TARGET format: `source_id:relative/path.md`
114
+
115
+ ### Vault Analytics
116
+ ```bash
117
+ vaultctl stats --json # document/section counts per source
118
+ vaultctl status --json # db path, doc count, last indexed
119
+ vaultctl audit orphans --json # notes with no incoming wikilinks
120
+ vaultctl audit linked -n 20 --json # most-linked notes
121
+ vaultctl audit duplicates --json # near-duplicate content candidates
122
+ ```
123
+
124
+ ### MCP Bridge
125
+ ```bash
126
+ vaultctl mcp serve --transport stdio
127
+ ```
128
+
129
+ Exposes vault operations as MCP tools over stdio for MCP client compatibility.
130
+
131
+ ## Common Agent Patterns
132
+
133
+ **Search then read:**
134
+ ```bash
135
+ vaultctl "repo market mechanics" --folder concetti-schemi --json
136
+ # use rel_path from result[0]:
137
+ vaultctl note read "1-projects/trading/concetti-schemi/repo-market.md" --json
138
+ ```
139
+
140
+ **Write a note and confirm it's searchable:**
141
+ ```bash
142
+ vaultctl note write "1-projects/research/new-topic.md" --text "# New Topic\n..." --json
143
+ vaultctl "new topic" --json # verify indexed
144
+ ```
145
+
146
+ **Stale index guard:**
147
+ ```bash
148
+ vaultctl status --json # check stale_documents count
149
+ vaultctl index --json # run if stale_documents > 0
150
+ ```
package/CHANGELOG.md CHANGED
@@ -14,12 +14,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
14
14
  ## [0.7.3] - 2026-04-04
15
15
 
16
16
  ### Changed
17
- - **Pi extensions architecture**: Refactored from project-level copies to global symlink model. Extensions now live in `.xtrm/ext-src/` (source of truth) and are symlinked to `~/.pi/agent/extensions/`. This eliminates project-level conflicts and worktrees no longer need extension bootstrap.
18
- - **Directory rename**: `.xtrm/extensions/` renamed to `.xtrm/ext-src/` to prevent Pi auto-discovery of project-level extensions (which would duplicate global symlinks).
19
- - **Legacy path removal**: `.pi/node_modules/@xtrm/pi-core` deprecated; `@xtrm/pi-core` now lives in `.xtrm/ext-src/core/`.
17
+ - **Pi extensions architecture**: Refactored from project-level copies to global symlink model. Extensions now live in `packages/pi-extensions/extensions/` (source of truth) and are symlinked to `~/.pi/agent/extensions/`. This eliminates project-level conflicts and worktrees no longer need extension bootstrap.
18
+ - **Directory rename**: `.xtrm/extensions/` renamed to `packages/pi-extensions/extensions/` to prevent Pi auto-discovery of project-level extensions (which would duplicate global symlinks).
19
+ - **Legacy path removal**: `.pi/node_modules/@xtrm/pi-core` deprecated; `@xtrm/pi-core` now lives in `packages/pi-extensions/src/core/`.
20
20
  - **`docs/pi-extensions.md`**: Comprehensive rewrite documenting global symlink model, sync behavior, worktree compatibility, and active extensions (v2.0.0).
21
21
  - **`docs/xtrm-directory.md`**: Updated directory layout to reflect `ext-src/` and global symlink architecture (v1.1.0).
22
- - **`docs/xtrm-ui.md`**: Updated source paths from `config/pi/extensions/` to `.xtrm/ext-src/` (v1.2.0).
22
+ - **`docs/xtrm-ui.md`**: Updated source paths from `packages/pi-extensions/extensions/` to `packages/pi-extensions/extensions/` (v1.2.0).
23
23
 
24
24
  ### Fixed
25
25
  - **Worktree extension sync**: Extensions are now global symlinks — worktrees automatically share extensions with main repo without bootstrap or drift issues.