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 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 opencode.json `skills.paths` + `instructions`
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 opencode.json auto-discovery + `~/.compend/config.json` overrides
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 automatically from your opencode.json `skills.paths` and `instructions` directories. Add custom project knowledge bundles via `~/.compend/config.json`.
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[] | `[]` | Additional paths to scan for `.md` files (appended to opencode auto-discovered paths) |
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 auto-discovers filesystem paths from your opencode.json:
276
-
277
- 1. `skills.paths` skill directories (scanned recursively for `*.md`)
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": ["/home/user/projects/my-project/knowledge"]
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)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "compend",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "A reference engine for AI agents. Index your Markdown skills with hybrid search and dynamic context.",
5
5
  "author": "Hector Jarquin",
6
6
  "type": "module",