compend 1.0.0 → 1.1.0
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 +16 -2
- package/README.md +13 -9
- package/config.js +0 -26
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@ All notable changes to Compend will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.1.0] - 2026-06-28
|
|
9
|
+
|
|
10
|
+
### Removed
|
|
11
|
+
- opencode.json auto-discovery from `getIndexPaths()`. Compend no longer
|
|
12
|
+
reads opencode.json for `skills.paths` or `instructions[]`. All index
|
|
13
|
+
paths now come from `~/.compend/config.json` → `index.paths`. If you
|
|
14
|
+
previously relied on auto-discovery, add your paths to the compend
|
|
15
|
+
config file.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- `getIndexPaths()` reads only `~/.compend/config.json` — zero tool
|
|
19
|
+
dependencies. Compend works identically with Claude, Copilot, openCode,
|
|
20
|
+
Codex, or standalone.
|
|
21
|
+
|
|
8
22
|
## [1.0.0] - 2026-06-27
|
|
9
23
|
|
|
10
24
|
### Added
|
|
@@ -20,11 +34,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
20
34
|
- 7 extensible concept types: skill, agent, instruction, prompt, workflow, reference, knowledge
|
|
21
35
|
- Type schemas in config.js with per-type status validation (matching Hemisphere's kind schema pattern)
|
|
22
36
|
- OKF frontmatter parsing (YAML + markdown body) with automatic type inference
|
|
23
|
-
- Auto-index on first run from
|
|
37
|
+
- Auto-index on first run from ~/.compend/config.json `index.paths`
|
|
24
38
|
- Parent/child concept resolution via slug hierarchy (file path convention)
|
|
25
39
|
- Dependency resolution from OKF frontmatter `dependencies` field
|
|
26
40
|
- `~/.compend/config.json` config with env var overrides (`COMPEND_PORT`, `COMPEND_DB_PATH`)
|
|
27
|
-
- Index paths from
|
|
41
|
+
- Index paths from `~/.compend/config.json` `index.paths`
|
|
28
42
|
|
|
29
43
|
## [0.0.1] - 2026-06-27
|
|
30
44
|
|
package/README.md
CHANGED
|
@@ -95,7 +95,7 @@ npm link # creates global compend command
|
|
|
95
95
|
|
|
96
96
|
Find your exact path with `npm root -g` — append `/compend/index.js`.
|
|
97
97
|
|
|
98
|
-
Concepts are discovered
|
|
98
|
+
Concepts are discovered from paths configured in `~/.compend/config.json` → `index.paths`. Add custom project knowledge bundles and skill directories there.
|
|
99
99
|
|
|
100
100
|
## Updating
|
|
101
101
|
|
|
@@ -261,7 +261,7 @@ Create an optional JSON config file to customize operational settings. All keys
|
|
|
261
261
|
| `dashboard.paginationLimit` | number | `50` | Default page size for dashboard API |
|
|
262
262
|
| `dashboard.maxLimit` | number | `200` | Hard cap on API page size |
|
|
263
263
|
| `schemas.default.types` | object | built-in set | Type definitions with `statuses` and `defaults` |
|
|
264
|
-
| `index.paths` | string[] | `[]` |
|
|
264
|
+
| `index.paths` | string[] | `[]` | Paths to scan for `.md` files. These are the only paths Compend indexes. Add skill directories, knowledge bundles, and convention files here. |
|
|
265
265
|
|
|
266
266
|
### Environment Variables
|
|
267
267
|
|
|
@@ -272,21 +272,25 @@ Create an optional JSON config file to customize operational settings. All keys
|
|
|
272
272
|
|
|
273
273
|
### Path Discovery
|
|
274
274
|
|
|
275
|
-
Compend
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
2. `instructions` — instruction files (indexed directly)
|
|
279
|
-
|
|
280
|
-
Additional paths can be added via `index.paths` in `~/.compend/config.json`. This is where you add project OKF knowledge bundles:
|
|
275
|
+
Compend indexes only paths configured in `~/.compend/config.json` →
|
|
276
|
+
`index.paths`. No tool configs are read — Compend is tool-agnostic and
|
|
277
|
+
works identically with any AI client.
|
|
281
278
|
|
|
282
279
|
```json
|
|
283
280
|
{
|
|
284
281
|
"index": {
|
|
285
|
-
"paths": [
|
|
282
|
+
"paths": [
|
|
283
|
+
"/home/user/.github/skills",
|
|
284
|
+
"/home/user/projects/my-project/knowledge"
|
|
285
|
+
]
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
288
|
```
|
|
289
289
|
|
|
290
|
+
Each path is scanned recursively for `.md` files on `compend_index`.
|
|
291
|
+
Add skill directories, OKF knowledge bundles, and convention file
|
|
292
|
+
directories here.
|
|
293
|
+
|
|
290
294
|
## Architecture
|
|
291
295
|
|
|
292
296
|
### Embedding
|
package/config.js
CHANGED
|
@@ -106,32 +106,6 @@ export function resolveTypeSchema(type) {
|
|
|
106
106
|
export function getIndexPaths() {
|
|
107
107
|
const paths = [];
|
|
108
108
|
|
|
109
|
-
try {
|
|
110
|
-
const opencodePaths = [
|
|
111
|
-
join(homedir(), '.config', 'opencode', 'opencode.json'),
|
|
112
|
-
];
|
|
113
|
-
for (const p of opencodePaths) {
|
|
114
|
-
if (existsSync(p)) {
|
|
115
|
-
const raw = readFileSync(p, 'utf-8').trim();
|
|
116
|
-
if (raw) {
|
|
117
|
-
const cfg = JSON.parse(raw);
|
|
118
|
-
if (cfg.skills && Array.isArray(cfg.skills.paths)) {
|
|
119
|
-
for (const sp of cfg.skills.paths) {
|
|
120
|
-
paths.push(resolveTilde(sp));
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
if (cfg.instructions && Array.isArray(cfg.instructions)) {
|
|
124
|
-
for (const ip of cfg.instructions) {
|
|
125
|
-
paths.push(resolveTilde(ip));
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
} catch (e) {
|
|
132
|
-
console.warn('Compend: could not read opencode.json:', e.message);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
109
|
try {
|
|
136
110
|
const compendCfg = readConfigFile();
|
|
137
111
|
if (compendCfg.index && Array.isArray(compendCfg.index.paths)) {
|