open-wiki-spec 0.2.0 → 0.2.1
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 +59 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<!-- Badges -->
|
|
6
6
|
[](https://www.npmjs.com/package/open-wiki-spec)
|
|
7
7
|
[](./LICENSE)
|
|
8
|
-
[](#)
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -128,10 +128,12 @@ The retrieval pipeline uses **weighted scoring signals**, not free-form LLM judg
|
|
|
128
128
|
|--------|--------|
|
|
129
129
|
| Exact title match | +40 |
|
|
130
130
|
| Alias match | +35 |
|
|
131
|
+
| Semantic similarity | +30 |
|
|
131
132
|
| Active change overlap | +25 |
|
|
132
133
|
| Same system | +20 |
|
|
133
134
|
| Same feature link | +20 |
|
|
134
|
-
|
|
|
135
|
+
| Partial title match | +20 |
|
|
136
|
+
| Full-text match | +15 / +8 |
|
|
135
137
|
| Shared source | +10 |
|
|
136
138
|
| Shared decision | +10 |
|
|
137
139
|
| Backlink proximity | +10 |
|
|
@@ -145,7 +147,9 @@ Classification is rule-based with thresholds:
|
|
|
145
147
|
| `new_feature` | Nothing similar found. Create new Feature + Change. |
|
|
146
148
|
| `needs_confirmation` | Ambiguous results. Ask the user to choose. |
|
|
147
149
|
|
|
148
|
-
Results are deterministic, explainable, and debuggable.
|
|
150
|
+
Results are deterministic, explainable, and debuggable.
|
|
151
|
+
|
|
152
|
+
**v0.2.0+** also includes **semantic search** via local embeddings (`multilingual-e5-small`). When available, a 10th scoring signal (`semantic_similarity: +30`) catches meaning-based matches that keyword search misses — e.g., "새 사용자를 받고 싶어" finds "회원가입" Feature even without keyword overlap. The embedding model downloads automatically on first use (~113MB, cached locally). Use `--keywords` to let the agent pass refined search terms directly.
|
|
149
153
|
|
|
150
154
|
## Key differences from OpenSpec
|
|
151
155
|
|
|
@@ -154,7 +158,7 @@ Results are deterministic, explainable, and debuggable. No embedding service req
|
|
|
154
158
|
| Storage | Fixed filesystem directories | Typed markdown vault with frontmatter + wikilinks |
|
|
155
159
|
| Canonical spec | `spec.md` file | `Feature` note with `## Requirements` section |
|
|
156
160
|
| Identity | Filepath/filename | Immutable `id` in frontmatter (survives rename/move) |
|
|
157
|
-
| Similarity detection | Free-form LLM reasoning | Deterministic retrieval
|
|
161
|
+
| Similarity detection | Free-form LLM reasoning | Deterministic retrieval + semantic embedding (multilingual) |
|
|
158
162
|
| Pre-investigation | Prompt-driven, varies by session | Mandatory preflight scan before `propose` |
|
|
159
163
|
| Note relationships | Directory nesting | Typed graph: wikilinks, backlinks, frontmatter links |
|
|
160
164
|
| Completion model | Archive-first file movement | Status lifecycle + deferred archive |
|
|
@@ -287,10 +291,61 @@ See the full migration guide (available in `docs/migration.md` when building fro
|
|
|
287
291
|
- Propose | Continue | Apply
|
|
288
292
|
- Verify | Query | CLI Init
|
|
289
293
|
|
|
294
|
+
## Full lifecycle example
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
# 1. Initialize
|
|
298
|
+
ows init
|
|
299
|
+
|
|
300
|
+
# 2. Propose a change (preflight retrieval runs automatically)
|
|
301
|
+
ows propose "Add user authentication with email/password" --keywords "auth,login,password"
|
|
302
|
+
|
|
303
|
+
# 3. Fill in the Change sections (Why, Delta Summary, Tasks, Validation)
|
|
304
|
+
# Then advance through the lifecycle:
|
|
305
|
+
ows continue <changeId> # proposed → planned
|
|
306
|
+
ows continue <changeId> # planned → in_progress
|
|
307
|
+
|
|
308
|
+
# 4. Complete tasks, then apply to canonical Feature
|
|
309
|
+
ows apply <changeId>
|
|
310
|
+
|
|
311
|
+
# 5. Fill in any ADDED/MODIFIED markers in the Feature note
|
|
312
|
+
# Then verify everything is consistent
|
|
313
|
+
ows verify
|
|
314
|
+
|
|
315
|
+
# 6. Archive the completed change
|
|
316
|
+
ows archive <changeId>
|
|
317
|
+
```
|
|
318
|
+
|
|
290
319
|
## Requirements
|
|
291
320
|
|
|
292
321
|
- Node.js >= 20.0.0
|
|
293
322
|
|
|
323
|
+
## Contributing
|
|
324
|
+
|
|
325
|
+
**We actively welcome contributions!** Whether it's bug reports, feature ideas, documentation improvements, or code — all forms of participation are appreciated.
|
|
326
|
+
|
|
327
|
+
- **Issues**: Found a bug or have a suggestion? [Open an issue](https://github.com/sh940701/open-wiki-spec/issues).
|
|
328
|
+
- **Pull Requests**: Fork the repo, make your changes, and submit a PR. We review promptly.
|
|
329
|
+
- **Discussions**: Questions about architecture, design decisions, or use cases? Start a discussion in Issues.
|
|
330
|
+
|
|
331
|
+
### Getting started for contributors
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
git clone https://github.com/sh940701/open-wiki-spec.git
|
|
335
|
+
cd open-wiki-spec
|
|
336
|
+
npm install
|
|
337
|
+
npm run build
|
|
338
|
+
npm test # 805+ tests should pass
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### Areas where help is especially welcome
|
|
342
|
+
|
|
343
|
+
- **Semantic search improvements** — better embedding models, multilingual support
|
|
344
|
+
- **Obsidian plugin** — native Obsidian integration for graph view, Dataview queries
|
|
345
|
+
- **Additional agent runtime support** — Cursor, Codex, Gemini CLI adapters
|
|
346
|
+
- **Documentation** — tutorials, examples, translations
|
|
347
|
+
- **Testing** — edge cases, performance benchmarks, real-world usage reports
|
|
348
|
+
|
|
294
349
|
## License
|
|
295
350
|
|
|
296
351
|
[MIT](./LICENSE)
|