@mseep/core 3.0.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 +285 -0
- package/LICENSE +21 -0
- package/README.ja.md +14 -0
- package/README.ko.md +14 -0
- package/README.md +227 -0
- package/README.pt-BR.md +14 -0
- package/README.skills.md +50 -0
- package/README.uk.md +14 -0
- package/README.zh-CN.md +14 -0
- package/bin/booklib-mcp.js +458 -0
- package/bin/booklib.js +2394 -0
- package/bin/skills.cjs +1292 -0
- package/community/registry.json +1616 -0
- package/hooks/hooks.json +52 -0
- package/hooks/posttooluse-capture.mjs +67 -0
- package/hooks/posttooluse-contradict.mjs +76 -0
- package/hooks/posttooluse-imports.mjs +67 -0
- package/hooks/pretooluse-inject.mjs +82 -0
- package/hooks/suggest.js +153 -0
- package/lib/agent-detector.js +96 -0
- package/lib/config-loader.js +39 -0
- package/lib/conflict-resolver.js +148 -0
- package/lib/connectors/context7.js +167 -0
- package/lib/connectors/github.js +223 -0
- package/lib/connectors/local.js +120 -0
- package/lib/connectors/notion.js +436 -0
- package/lib/connectors/web.js +134 -0
- package/lib/context-builder.js +574 -0
- package/lib/discovery-engine.js +298 -0
- package/lib/doctor/hook-installer.js +83 -0
- package/lib/doctor/usage-tracker.js +87 -0
- package/lib/engine/auditor.js +103 -0
- package/lib/engine/auto-linker.js +177 -0
- package/lib/engine/bm25-index.js +178 -0
- package/lib/engine/capture.js +120 -0
- package/lib/engine/context-map.js +641 -0
- package/lib/engine/corrections.js +194 -0
- package/lib/engine/decision-checker.js +203 -0
- package/lib/engine/doctor.js +207 -0
- package/lib/engine/embedding-provider.js +72 -0
- package/lib/engine/gap-detector.js +138 -0
- package/lib/engine/gap-resolver.js +135 -0
- package/lib/engine/graph-injector.js +137 -0
- package/lib/engine/graph-search.js +183 -0
- package/lib/engine/graph.js +170 -0
- package/lib/engine/handoff.js +411 -0
- package/lib/engine/import-checker.js +249 -0
- package/lib/engine/import-parser.js +145 -0
- package/lib/engine/indexer.js +334 -0
- package/lib/engine/lookup-priority.js +15 -0
- package/lib/engine/parser.js +257 -0
- package/lib/engine/principle-extractor.js +116 -0
- package/lib/engine/project-analyzer.js +353 -0
- package/lib/engine/query-expander.js +42 -0
- package/lib/engine/reasoning-modes.js +353 -0
- package/lib/engine/registries.js +524 -0
- package/lib/engine/reranker.js +45 -0
- package/lib/engine/rrf.js +59 -0
- package/lib/engine/scanner.js +151 -0
- package/lib/engine/searcher.js +223 -0
- package/lib/engine/session-coordinator.js +291 -0
- package/lib/engine/session-manager.js +375 -0
- package/lib/engine/source-detector.js +240 -0
- package/lib/engine/source-manager.js +142 -0
- package/lib/engine/structured-response.js +47 -0
- package/lib/engine/synthesis-templates.js +364 -0
- package/lib/installer.js +70 -0
- package/lib/instinct-block.js +21 -0
- package/lib/mcp-config-writer.js +107 -0
- package/lib/paths.js +62 -0
- package/lib/project-initializer.js +856 -0
- package/lib/registry/skills.js +102 -0
- package/lib/registry-searcher.js +107 -0
- package/lib/rules/rules-manager.js +169 -0
- package/lib/skill-fetcher.js +333 -0
- package/lib/well-known-builder.js +74 -0
- package/lib/wizard/index.js +1389 -0
- package/lib/wizard/integration-detector.js +41 -0
- package/lib/wizard/project-detector.js +146 -0
- package/lib/wizard/prompt.js +221 -0
- package/lib/wizard/registry-embeddings.js +107 -0
- package/lib/wizard/skill-recommender.js +69 -0
- package/package.json +70 -0
- package/skills/animation-at-work/SKILL.md +270 -0
- package/skills/animation-at-work/assets/example_asset.txt +1 -0
- package/skills/animation-at-work/evals/evals.json +44 -0
- package/skills/animation-at-work/evals/results.json +13 -0
- package/skills/animation-at-work/examples/after.md +64 -0
- package/skills/animation-at-work/examples/before.md +35 -0
- package/skills/animation-at-work/references/api_reference.md +369 -0
- package/skills/animation-at-work/references/review-checklist.md +79 -0
- package/skills/animation-at-work/scripts/audit_animations.py +295 -0
- package/skills/animation-at-work/scripts/example.py +1 -0
- package/skills/booklib-mcp-guide/SKILL.md +129 -0
- package/skills/booklib-mcp-guide/evals/evals.json +37 -0
- package/skills/booklib-mcp-guide/examples/after.md +34 -0
- package/skills/booklib-mcp-guide/examples/before.md +27 -0
- package/skills/booklib-mcp-guide/references/tool-catalog.md +9 -0
- package/skills/clean-code-reviewer/SKILL.md +444 -0
- package/skills/clean-code-reviewer/audit.json +35 -0
- package/skills/clean-code-reviewer/evals/evals.json +185 -0
- package/skills/clean-code-reviewer/evals/results.json +13 -0
- package/skills/clean-code-reviewer/examples/after.md +48 -0
- package/skills/clean-code-reviewer/examples/before.md +33 -0
- package/skills/clean-code-reviewer/references/api_reference.md +158 -0
- package/skills/clean-code-reviewer/references/practices-catalog.md +282 -0
- package/skills/clean-code-reviewer/references/review-checklist.md +254 -0
- package/skills/clean-code-reviewer/scripts/pre-review.py +206 -0
- package/skills/data-intensive-patterns/SKILL.md +267 -0
- package/skills/data-intensive-patterns/assets/example_asset.txt +1 -0
- package/skills/data-intensive-patterns/evals/evals.json +54 -0
- package/skills/data-intensive-patterns/evals/results.json +13 -0
- package/skills/data-intensive-patterns/examples/after.md +61 -0
- package/skills/data-intensive-patterns/examples/before.md +38 -0
- package/skills/data-intensive-patterns/references/api_reference.md +34 -0
- package/skills/data-intensive-patterns/references/patterns-catalog.md +551 -0
- package/skills/data-intensive-patterns/references/review-checklist.md +193 -0
- package/skills/data-intensive-patterns/scripts/adr.py +213 -0
- package/skills/data-intensive-patterns/scripts/example.py +1 -0
- package/skills/data-pipelines/SKILL.md +259 -0
- package/skills/data-pipelines/assets/example_asset.txt +1 -0
- package/skills/data-pipelines/evals/evals.json +45 -0
- package/skills/data-pipelines/evals/results.json +13 -0
- package/skills/data-pipelines/examples/after.md +97 -0
- package/skills/data-pipelines/examples/before.md +37 -0
- package/skills/data-pipelines/references/api_reference.md +301 -0
- package/skills/data-pipelines/references/review-checklist.md +181 -0
- package/skills/data-pipelines/scripts/example.py +1 -0
- package/skills/data-pipelines/scripts/new_pipeline.py +444 -0
- package/skills/design-patterns/SKILL.md +271 -0
- package/skills/design-patterns/assets/example_asset.txt +1 -0
- package/skills/design-patterns/evals/evals.json +46 -0
- package/skills/design-patterns/evals/results.json +13 -0
- package/skills/design-patterns/examples/after.md +52 -0
- package/skills/design-patterns/examples/before.md +29 -0
- package/skills/design-patterns/references/api_reference.md +1 -0
- package/skills/design-patterns/references/patterns-catalog.md +726 -0
- package/skills/design-patterns/references/review-checklist.md +173 -0
- package/skills/design-patterns/scripts/example.py +1 -0
- package/skills/design-patterns/scripts/scaffold.py +807 -0
- package/skills/domain-driven-design/SKILL.md +142 -0
- package/skills/domain-driven-design/assets/example_asset.txt +1 -0
- package/skills/domain-driven-design/evals/evals.json +48 -0
- package/skills/domain-driven-design/evals/results.json +13 -0
- package/skills/domain-driven-design/examples/after.md +80 -0
- package/skills/domain-driven-design/examples/before.md +43 -0
- package/skills/domain-driven-design/references/api_reference.md +1 -0
- package/skills/domain-driven-design/references/patterns-catalog.md +545 -0
- package/skills/domain-driven-design/references/review-checklist.md +158 -0
- package/skills/domain-driven-design/scripts/example.py +1 -0
- package/skills/domain-driven-design/scripts/scaffold.py +421 -0
- package/skills/effective-java/SKILL.md +227 -0
- package/skills/effective-java/assets/example_asset.txt +1 -0
- package/skills/effective-java/evals/evals.json +46 -0
- package/skills/effective-java/evals/results.json +13 -0
- package/skills/effective-java/examples/after.md +83 -0
- package/skills/effective-java/examples/before.md +37 -0
- package/skills/effective-java/references/api_reference.md +1 -0
- package/skills/effective-java/references/items-catalog.md +955 -0
- package/skills/effective-java/references/review-checklist.md +216 -0
- package/skills/effective-java/scripts/checkstyle_setup.py +211 -0
- package/skills/effective-java/scripts/example.py +1 -0
- package/skills/effective-kotlin/SKILL.md +271 -0
- package/skills/effective-kotlin/assets/example_asset.txt +1 -0
- package/skills/effective-kotlin/audit.json +29 -0
- package/skills/effective-kotlin/evals/evals.json +45 -0
- package/skills/effective-kotlin/evals/results.json +13 -0
- package/skills/effective-kotlin/examples/after.md +36 -0
- package/skills/effective-kotlin/examples/before.md +38 -0
- package/skills/effective-kotlin/references/api_reference.md +1 -0
- package/skills/effective-kotlin/references/practices-catalog.md +1228 -0
- package/skills/effective-kotlin/references/review-checklist.md +126 -0
- package/skills/effective-kotlin/scripts/example.py +1 -0
- package/skills/effective-python/SKILL.md +441 -0
- package/skills/effective-python/evals/evals.json +44 -0
- package/skills/effective-python/evals/results.json +13 -0
- package/skills/effective-python/examples/after.md +56 -0
- package/skills/effective-python/examples/before.md +40 -0
- package/skills/effective-python/ref-01-pythonic-thinking.md +202 -0
- package/skills/effective-python/ref-02-lists-and-dicts.md +146 -0
- package/skills/effective-python/ref-03-functions.md +186 -0
- package/skills/effective-python/ref-04-comprehensions-generators.md +211 -0
- package/skills/effective-python/ref-05-classes-interfaces.md +188 -0
- package/skills/effective-python/ref-06-metaclasses-attributes.md +209 -0
- package/skills/effective-python/ref-07-concurrency.md +213 -0
- package/skills/effective-python/ref-08-robustness-performance.md +248 -0
- package/skills/effective-python/ref-09-testing-debugging.md +253 -0
- package/skills/effective-python/ref-10-collaboration.md +175 -0
- package/skills/effective-python/references/api_reference.md +218 -0
- package/skills/effective-python/references/practices-catalog.md +483 -0
- package/skills/effective-python/references/review-checklist.md +190 -0
- package/skills/effective-python/scripts/lint.py +173 -0
- package/skills/effective-typescript/SKILL.md +262 -0
- package/skills/effective-typescript/audit.json +29 -0
- package/skills/effective-typescript/evals/evals.json +37 -0
- package/skills/effective-typescript/evals/results.json +13 -0
- package/skills/effective-typescript/examples/after.md +70 -0
- package/skills/effective-typescript/examples/before.md +47 -0
- package/skills/effective-typescript/references/api_reference.md +118 -0
- package/skills/effective-typescript/references/practices-catalog.md +371 -0
- package/skills/effective-typescript/scripts/review.py +169 -0
- package/skills/kotlin-in-action/SKILL.md +261 -0
- package/skills/kotlin-in-action/assets/example_asset.txt +1 -0
- package/skills/kotlin-in-action/evals/evals.json +43 -0
- package/skills/kotlin-in-action/evals/results.json +13 -0
- package/skills/kotlin-in-action/examples/after.md +53 -0
- package/skills/kotlin-in-action/examples/before.md +39 -0
- package/skills/kotlin-in-action/references/api_reference.md +1 -0
- package/skills/kotlin-in-action/references/practices-catalog.md +436 -0
- package/skills/kotlin-in-action/references/review-checklist.md +204 -0
- package/skills/kotlin-in-action/scripts/example.py +1 -0
- package/skills/kotlin-in-action/scripts/setup_detekt.py +224 -0
- package/skills/lean-startup/SKILL.md +160 -0
- package/skills/lean-startup/assets/example_asset.txt +1 -0
- package/skills/lean-startup/evals/evals.json +43 -0
- package/skills/lean-startup/evals/results.json +13 -0
- package/skills/lean-startup/examples/after.md +80 -0
- package/skills/lean-startup/examples/before.md +34 -0
- package/skills/lean-startup/references/api_reference.md +319 -0
- package/skills/lean-startup/references/review-checklist.md +137 -0
- package/skills/lean-startup/scripts/example.py +1 -0
- package/skills/lean-startup/scripts/new_experiment.py +286 -0
- package/skills/microservices-patterns/SKILL.md +384 -0
- package/skills/microservices-patterns/evals/evals.json +45 -0
- package/skills/microservices-patterns/evals/results.json +13 -0
- package/skills/microservices-patterns/examples/after.md +69 -0
- package/skills/microservices-patterns/examples/before.md +40 -0
- package/skills/microservices-patterns/references/patterns-catalog.md +391 -0
- package/skills/microservices-patterns/references/review-checklist.md +169 -0
- package/skills/microservices-patterns/scripts/new_service.py +583 -0
- package/skills/programming-with-rust/SKILL.md +209 -0
- package/skills/programming-with-rust/evals/evals.json +37 -0
- package/skills/programming-with-rust/evals/results.json +13 -0
- package/skills/programming-with-rust/examples/after.md +107 -0
- package/skills/programming-with-rust/examples/before.md +59 -0
- package/skills/programming-with-rust/references/api_reference.md +152 -0
- package/skills/programming-with-rust/references/practices-catalog.md +335 -0
- package/skills/programming-with-rust/scripts/review.py +142 -0
- package/skills/refactoring-ui/SKILL.md +362 -0
- package/skills/refactoring-ui/assets/example_asset.txt +1 -0
- package/skills/refactoring-ui/evals/evals.json +45 -0
- package/skills/refactoring-ui/evals/results.json +13 -0
- package/skills/refactoring-ui/examples/after.md +85 -0
- package/skills/refactoring-ui/examples/before.md +58 -0
- package/skills/refactoring-ui/references/api_reference.md +355 -0
- package/skills/refactoring-ui/references/review-checklist.md +114 -0
- package/skills/refactoring-ui/scripts/audit_css.py +250 -0
- package/skills/refactoring-ui/scripts/example.py +1 -0
- package/skills/rust-in-action/SKILL.md +350 -0
- package/skills/rust-in-action/evals/evals.json +38 -0
- package/skills/rust-in-action/evals/results.json +13 -0
- package/skills/rust-in-action/examples/after.md +156 -0
- package/skills/rust-in-action/examples/before.md +56 -0
- package/skills/rust-in-action/references/practices-catalog.md +346 -0
- package/skills/rust-in-action/scripts/review.py +147 -0
- package/skills/skill-router/SKILL.md +186 -0
- package/skills/skill-router/evals/evals.json +38 -0
- package/skills/skill-router/evals/results.json +13 -0
- package/skills/skill-router/examples/after.md +63 -0
- package/skills/skill-router/examples/before.md +39 -0
- package/skills/skill-router/references/api_reference.md +24 -0
- package/skills/skill-router/references/routing-heuristics.md +89 -0
- package/skills/skill-router/references/skill-catalog.md +174 -0
- package/skills/skill-router/scripts/route.py +266 -0
- package/skills/spring-boot-in-action/SKILL.md +340 -0
- package/skills/spring-boot-in-action/evals/evals.json +39 -0
- package/skills/spring-boot-in-action/evals/results.json +13 -0
- package/skills/spring-boot-in-action/examples/after.md +185 -0
- package/skills/spring-boot-in-action/examples/before.md +84 -0
- package/skills/spring-boot-in-action/references/practices-catalog.md +403 -0
- package/skills/spring-boot-in-action/scripts/review.py +184 -0
- package/skills/storytelling-with-data/SKILL.md +241 -0
- package/skills/storytelling-with-data/assets/example_asset.txt +1 -0
- package/skills/storytelling-with-data/evals/evals.json +47 -0
- package/skills/storytelling-with-data/evals/results.json +13 -0
- package/skills/storytelling-with-data/examples/after.md +50 -0
- package/skills/storytelling-with-data/examples/before.md +33 -0
- package/skills/storytelling-with-data/references/api_reference.md +379 -0
- package/skills/storytelling-with-data/references/review-checklist.md +111 -0
- package/skills/storytelling-with-data/scripts/chart_review.py +301 -0
- package/skills/storytelling-with-data/scripts/example.py +1 -0
- package/skills/system-design-interview/SKILL.md +233 -0
- package/skills/system-design-interview/assets/example_asset.txt +1 -0
- package/skills/system-design-interview/evals/evals.json +46 -0
- package/skills/system-design-interview/evals/results.json +13 -0
- package/skills/system-design-interview/examples/after.md +94 -0
- package/skills/system-design-interview/examples/before.md +27 -0
- package/skills/system-design-interview/references/api_reference.md +582 -0
- package/skills/system-design-interview/references/review-checklist.md +201 -0
- package/skills/system-design-interview/scripts/example.py +1 -0
- package/skills/system-design-interview/scripts/new_design.py +421 -0
- package/skills/using-asyncio-python/SKILL.md +290 -0
- package/skills/using-asyncio-python/assets/example_asset.txt +1 -0
- package/skills/using-asyncio-python/evals/evals.json +43 -0
- package/skills/using-asyncio-python/evals/results.json +13 -0
- package/skills/using-asyncio-python/examples/after.md +68 -0
- package/skills/using-asyncio-python/examples/before.md +39 -0
- package/skills/using-asyncio-python/references/api_reference.md +267 -0
- package/skills/using-asyncio-python/references/review-checklist.md +149 -0
- package/skills/using-asyncio-python/scripts/check_blocking.py +270 -0
- package/skills/using-asyncio-python/scripts/example.py +1 -0
- package/skills/web-scraping-python/SKILL.md +280 -0
- package/skills/web-scraping-python/assets/example_asset.txt +1 -0
- package/skills/web-scraping-python/evals/evals.json +46 -0
- package/skills/web-scraping-python/evals/results.json +13 -0
- package/skills/web-scraping-python/examples/after.md +109 -0
- package/skills/web-scraping-python/examples/before.md +40 -0
- package/skills/web-scraping-python/references/api_reference.md +393 -0
- package/skills/web-scraping-python/references/review-checklist.md +163 -0
- package/skills/web-scraping-python/scripts/example.py +1 -0
- package/skills/web-scraping-python/scripts/new_scraper.py +231 -0
- package/skills/writing-plans/audit.json +34 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [3.0.0] - 2026-04-08
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Runtime micro-injection system** — PreToolUse/PostToolUse hooks inject 3-10 lines of context before/after code edits based on a pre-computed context map
|
|
12
|
+
- **Context map** — maps knowledge items to code scopes via filePatterns, codeTerms, importTriggers, functionPatterns; built during `booklib init`
|
|
13
|
+
- **PostToolUse contradiction detection** — checks written code against team constraints in real-time
|
|
14
|
+
- **Processing modes** — fast (BM25-only), local (Ollama), API (cloud LLM) with wizard setup
|
|
15
|
+
- **Local AI via Ollama** — real model reasoning with auto-detection and wizard setup help
|
|
16
|
+
- **Context7 connector** — auto-resolves post-training knowledge gaps via Context7 API
|
|
17
|
+
- **GitHub connector** — indexes releases, wiki, and discussions
|
|
18
|
+
- **Notion connector** — indexes pages, databases, and search results
|
|
19
|
+
- **Knowledge gap detection** — scans deps across 8 registries, checks publish dates against model training cutoff
|
|
20
|
+
- **Gap resolution chain** — Context7 → GitHub → manual suggestion, fully automated
|
|
21
|
+
- **Unknown import detection** — flags imports not covered by BookLib knowledge
|
|
22
|
+
- **Team decision contradiction detection** — checks code against captured team rules
|
|
23
|
+
- **Source management** — `booklib connect`, `booklib disconnect`, `booklib sources` for doc sources
|
|
24
|
+
- **Web connector** — scrapes documentation URLs into markdown for indexing
|
|
25
|
+
- **Local connector** — file watching with filters and incremental updates
|
|
26
|
+
- **Source type auto-detection** — heuristics identify PKM vaults, SDD specs, API docs
|
|
27
|
+
- **Pre-built index support** — instant setup via `@booklib/index` package (~93 MB)
|
|
28
|
+
- **Sprint workflow** — `/sprint` command with 18 personas, 4 rings, and self-correcting loops
|
|
29
|
+
- **XML principle extraction** — splits chunks into individual actionable principles
|
|
30
|
+
- **Structured MCP responses** — returns principles with context, not raw chunks
|
|
31
|
+
- **MCP priority lookup** — most relevant tool fires first
|
|
32
|
+
- **Auto-linker** — connects knowledge nodes to matching skills automatically
|
|
33
|
+
- **Universal markdown splitter** — atomic chunking with parent/sibling metadata
|
|
34
|
+
- **Sibling expansion** — pulls missing chunks when >=50% of siblings match a query
|
|
35
|
+
- **Relevance threshold** — reranker filters truly irrelevant results
|
|
36
|
+
- **GPU auto-detection** — batch embedding for faster indexing
|
|
37
|
+
- **Colored progress bar** — cyan/gray bar with elapsed time during doc indexing
|
|
38
|
+
- **Navigation legend** — colorful key hints on all interactive prompts (↑↓ navigate · space toggle · enter submit)
|
|
39
|
+
- **Friendly spinner messages** — "Picking the best skills for your stack..." instead of dry technical text
|
|
40
|
+
- **Auto-gitignore** — wizard adds derived BookLib files to .gitignore during init
|
|
41
|
+
- **`npm test` script** — `node --test` runs 760 tests
|
|
42
|
+
- **CI test gating** — tests run on every PR, push to main, and before npm publish
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
- **Batch vectra insert** — single disk write instead of 1368 individual read-modify-write cycles; save phase drops from 30s+ to <1s
|
|
46
|
+
- **Corrupt index recovery** — truncated index.json is detected and rebuilt instead of crashing
|
|
47
|
+
- **EBADF in tests** — CoreML fd2 redirect broke process.stderr permanently; replaced with clean console.warn + OS_ACTIVITY_MODE suppression
|
|
48
|
+
- **Scoped npm names** — `@types/react-dom` no longer crashes Context7 source registration
|
|
49
|
+
- **Progress bar line spam** — 500ms throttle prevents spinner from creating new lines
|
|
50
|
+
- **Saving phase UX** — spinner shows "Almost there, saving..." after progress hits 100%
|
|
51
|
+
- **Doc pre-selection** — all detected doc sources pre-selected in wizard (opt-out instead of opt-in)
|
|
52
|
+
- **Skill recommendation** — search query includes frameworks, language fallback always merges, pre-select only recommended skills, simplified labels
|
|
53
|
+
- **List indentation** — post-training deps and other lists visually nested under headers
|
|
54
|
+
- **12-language ecosystem support** — parsers for pubspec.yaml, Cargo.toml dev/build deps, pyproject.toml optional/Poetry, Package.swift, Directory.Packages.props, composer.json
|
|
55
|
+
- **Monorepo detection** — scans subdirectory manifests for frameworks
|
|
56
|
+
- **Self-referencing dep exclusion** — project's own package name filtered from gap detection
|
|
57
|
+
- **BM25 incremental append** — uses `bm25.add()` instead of rebuilding entire index
|
|
58
|
+
- **Template file filtering** — spec-template.md rules no longer treated as real decisions
|
|
59
|
+
- **Project-scoped context map** — global knowledge never auto-injects into project hooks
|
|
60
|
+
|
|
61
|
+
### Changed
|
|
62
|
+
- **760 tests** across 60 files (up from 62 tests in 2.0.0)
|
|
63
|
+
- **MCP tools renamed** — lookup, review_file, brief, remember, recalled, connect, save_progress
|
|
64
|
+
- **Package renamed** to `@booklib/core` (from `booklib`)
|
|
65
|
+
- **Wizard flow** — gap detection, doc indexing, context map building integrated into init
|
|
66
|
+
|
|
67
|
+
## [2.0.0] - 2026-04-01
|
|
68
|
+
|
|
69
|
+
### Breaking
|
|
70
|
+
- **Repo renamed** from `booklib-ai/booklib` to `booklib-ai/booklib`
|
|
71
|
+
- **npm package renamed** from `@booklib/skills` to `booklib` — install with `npm install -g booklib`
|
|
72
|
+
- **Config file generation** completely rewritten — generates 30-60 line files instead of 3,000-10,000 line content dumps. Old config files should be regenerated with `booklib init --reset`
|
|
73
|
+
- **`booklib fetch` and `booklib add` deprecated** — use `booklib install <name>` instead
|
|
74
|
+
|
|
75
|
+
### Added
|
|
76
|
+
- **Hybrid search pipeline (Spec 2)** — BM25 + vector search + Reciprocal Rank Fusion + cross-encoder reranking. 40-60% precision improvement over vector-only
|
|
77
|
+
- **SRAG metadata prefix embeddings** — each chunk's vector encodes domain context (`[skill:X] [type:Y] [tags:Z]`), 30% QA improvement (arxiv:2603.26670)
|
|
78
|
+
- **Knowledge graph (Spec 3)** — `booklib capture` creates knowledge nodes with typed edges, `--graph` flag augments search with one-hop graph traversal
|
|
79
|
+
- **MCP integration for 10 tools** — auto-configures MCP server for Claude Code, Cursor, Copilot (VS Code), Gemini CLI, Codex, Windsurf, Roo Code, Goose, Zed, Continue
|
|
80
|
+
- **Trigger-oriented MCP tool descriptions** — each tool description says WHEN to use it, not just what it does
|
|
81
|
+
- **Instinct block** — 5-10 lines of behavioral triggers in config files tell agents when to use BookLib tools
|
|
82
|
+
- **5 activity-based profiles** — software-development, writing-content, research-analysis, design, general
|
|
83
|
+
- **Config assembler** — profile template + instinct block + skill table + references = clean config file
|
|
84
|
+
- **Copilot detection** via VS Code extensions directory (`~/.vscode/extensions/github.copilot*`)
|
|
85
|
+
- **`booklib install <name>`** — unified install command with three-tier lookup (installed → bundled → cached)
|
|
86
|
+
- **`booklib doctor` diagnostic engine** — 6 checks (slot overload, oversized configs, missing index, stale skills, orphaned skills, missing config files) + `--cure` flag
|
|
87
|
+
- **`booklib init --reset`** — force re-run setup wizard
|
|
88
|
+
- **Rank-based display scores** — meaningful percentages instead of all-100% reranker saturation
|
|
89
|
+
- **Recommendation explanations** — wizard shows WHY each skill was recommended with matching chunk snippets
|
|
90
|
+
- **Safe config file handling** — `onFileConflict` callback before modifying existing files
|
|
91
|
+
- **Official docs references** — generated config files link to each tool's official documentation
|
|
92
|
+
- **Index progress callback** — `onProgress` in `indexDirectory()` for real-time feedback
|
|
93
|
+
- **Shared readline session** — `createSession()` eliminates race conditions in sequential prompts
|
|
94
|
+
- **@clack/prompts wizard UI** — colors, spinners, arrow-key selection, animated progress
|
|
95
|
+
- **`benchmark/RESEARCH.md`** — maps retrieval quality metrics to arxiv 2602.12430 claims
|
|
96
|
+
|
|
97
|
+
### Changed
|
|
98
|
+
- **13 supported AI tools** (up from 8): added Roo Code, OpenHands, Junie, Goose, OpenCode, Letta
|
|
99
|
+
- **24 bundled skills** (up from 22)
|
|
100
|
+
- **62 tests** across all modules
|
|
101
|
+
- **Wizard flow reordered** — index build before recommendations (uses search engine for recommendations instead of shallow description embeddings)
|
|
102
|
+
|
|
103
|
+
## [1.12.0] - 2026-03-30
|
|
104
|
+
|
|
105
|
+
### Added
|
|
106
|
+
- **`booklib init` Phase 2: MCP server setup** — after writing standards docs, `booklib init` now offers an interactive prompt to wire up the BookLib MCP server for Claude Code, Cursor, Gemini CLI, Codex, Zed, and Continue.dev
|
|
107
|
+
- **MCP config generation** — writes project-level config files: `.claude/settings.json`, `.cursor/mcp.json`, `.gemini/settings.json`, `.codex/config.toml`, `.zed/settings.json`, `.continue/mcpServers/booklib.yaml`; merges safely into existing configs without overwriting other MCP servers
|
|
108
|
+
- **`booklib-mcp` named bin** — `booklib-mcp` is now a first-class binary entry in `package.json`; MCP configs reference it directly by name
|
|
109
|
+
- **`--mcp-tool=X` flag** — skip the interactive prompt and specify tools directly (e.g. `booklib init --mcp-tool=claude,cursor`); selection persisted to `booklib.config.json`
|
|
110
|
+
- **Knowledge Graph** — unified node+edge model where any piece of knowledge (research, notes, decisions) and any part of your project (components, features) is a node; relationships are typed edges stored in `.booklib/knowledge/graph.jsonl`
|
|
111
|
+
- **`booklib note "<title>"`** — create a note node from `$EDITOR`, stdin pipe, or interactive input
|
|
112
|
+
- **`booklib dictate`** — type or dictate a note; AI structures the text, fixes grammar, extracts title and tags; `--raw` flag saves verbatim with no AI processing
|
|
113
|
+
- **`booklib save-chat`** — save the current agent conversation as a knowledge node; `--summarize` flag uses AI to extract key decisions and findings into a clean note with transcript attached
|
|
114
|
+
- **`booklib research "<topic>"`** — create a research stub node pre-populated with a template
|
|
115
|
+
- **`booklib component add <name> "<glob>"`** — define a project component with glob path patterns; component nodes replace `areas.yaml` (additive migration)
|
|
116
|
+
- **`booklib link <node1> <node2> --type <edge-type>`** — add a typed edge between any two nodes; edge types: `implements` · `contradicts` · `extends` · `applies-to` · `see-also` · `inspired-by` · `supersedes` · `depends-on`
|
|
117
|
+
- **`booklib nodes list`** / **`booklib nodes show <id>`** — list and inspect knowledge nodes
|
|
118
|
+
- **`booklib context --file <path>`** — graph-aware context injection: finds the file's owning component, traverses edges via BFS (up to 2 hops), combines with semantic search, injects book wisdom + personal knowledge together
|
|
119
|
+
- **PostToolUse hook** (`hooks/posttooluse-capture.mjs`) — fires after `WebFetch`/`WebSearch` tool calls and suggests saving captured knowledge as a node
|
|
120
|
+
- **`lib/engine/graph.js`** — node CRUD, edge append, BFS traversal with cycle prevention
|
|
121
|
+
- **`lib/engine/capture.js`** — node creation helpers: stdin, `$EDITOR`, interactive readline, Anthropic API structuring
|
|
122
|
+
- **`lib/engine/graph-injector.js`** — injection pipeline: semantic search + BFS graph traversal + dedup + ranking
|
|
123
|
+
- **Knowledge nodes indexed** — `booklib index` now indexes `.booklib/knowledge/nodes/` alongside skills; `booklib search` returns both with `📝` prefix for knowledge hits
|
|
124
|
+
- **`minimatch`** added as a runtime dependency for component path-glob matching
|
|
125
|
+
|
|
126
|
+
## [1.11.0] - 2026-03-30
|
|
127
|
+
|
|
128
|
+
### Added
|
|
129
|
+
- **Non-code domain support** — `booklib context` now works for product, writing, strategy, design, and legal domains using the same semantic extraction as code skills
|
|
130
|
+
- **6 new community skills in registry** — `article-writing`, `product-lens`, `market-research`, `investor-materials`, `brand-guidelines`, `web-design-guidelines` with accurate source URLs
|
|
131
|
+
- **`booklib scan --docs` mode** — prose quality checks (passive voice, unresolved placeholders, hedge words, user story completeness) for `.md`/`.txt` files
|
|
132
|
+
- **`writing-plans/audit.json`** — bundled static rules for markdown document scanning
|
|
133
|
+
- **New profiles** — `product`, `writer`, `strategist`, `designer`, `legal` roles added to `booklib profile` and `booklib swarm-config`
|
|
134
|
+
- **`skill-router` extended** — now routes non-code tasks to PM, legal, writing, strategy, brand, and web design skills; added 5 new routing rules and 3 conflict resolution entries
|
|
135
|
+
- **Prose sentence extraction** — `extractItems()` now splits long prose blocks by sentence boundary so non-code skill content surfaces as individual, rankable principles
|
|
136
|
+
|
|
137
|
+
### Fixed
|
|
138
|
+
- **Self-conflict bug** — `booklib context` no longer shows `skill vs skill` conflict warnings when the same skill name appears in both bundled and community index; deduplication by skill name now runs before conflict resolution
|
|
139
|
+
- **Community skills indexed** — `booklib index` now indexes `~/.booklib/skills/` after rebuilding the bundled index, so community skills appear in `booklib search` and `booklib context` results
|
|
140
|
+
- **YAML parse errors** — `booklib index` now skips malformed skill files with a warning instead of aborting the entire index rebuild
|
|
141
|
+
|
|
142
|
+
## [1.10.0] - 2026-03-28
|
|
143
|
+
|
|
144
|
+
### Added
|
|
145
|
+
- **Rules system** — Standalone rule files for Cursor and other AI editors
|
|
146
|
+
- **Standalone `--hooks` flag** — Install hooks independently of skills
|
|
147
|
+
- **Landing page update** — Improved GitHub Pages documentation
|
|
148
|
+
|
|
149
|
+
### Changed
|
|
150
|
+
- Multi-language README support (中文, 日本語, 한국어, Português)
|
|
151
|
+
- README overhaul for v1.10.0 with improved clarity and examples
|
|
152
|
+
|
|
153
|
+
### Fixed
|
|
154
|
+
- Book covers now load via Google Books JSON API (eliminates false-positive placeholders)
|
|
155
|
+
- Cover image detection improved to skip 1×1 pixel placeholders
|
|
156
|
+
|
|
157
|
+
## [1.9.0] - 2026-02-27
|
|
158
|
+
|
|
159
|
+
### Added
|
|
160
|
+
- **Agents system** — `@python-reviewer`, `@ts-reviewer`, `@architecture-reviewer`, and more
|
|
161
|
+
- **Cursor support** — Install skills and rules to `.cursor/rules/` for Cursor IDE
|
|
162
|
+
- **Installation profiles** — Quick-start profiles for common stacks (python, ts, jvm, rust, architecture, data, ui, lean, core)
|
|
163
|
+
- **Slash commands** — `/effective-python`, `/design-patterns`, etc. for explicit skill invocation
|
|
164
|
+
- **Hook system** — Auto-suggestion when asking for code reviews
|
|
165
|
+
- **GitHub Pages site** — Interactive skill browser with book covers
|
|
166
|
+
|
|
167
|
+
### Changed
|
|
168
|
+
- AGENTS.md rewritten with profiles and cross-platform setup
|
|
169
|
+
- README structure reorganized around profiles and tiers
|
|
170
|
+
|
|
171
|
+
### Removed
|
|
172
|
+
- Hardcoded skill count (now dynamic)
|
|
173
|
+
|
|
174
|
+
## [1.8.0] - 2026-02-26
|
|
175
|
+
|
|
176
|
+
### Added
|
|
177
|
+
- **Installation profiles** — Platform-specific quick-install (e.g., `--profile=ts`, `--profile=python`)
|
|
178
|
+
- **Benchmark suite** — Performance testing infrastructure
|
|
179
|
+
- **Skill quality checker** — `npx booklib check <skill-name>`
|
|
180
|
+
|
|
181
|
+
### Changed
|
|
182
|
+
- Project logo added and displayed in README
|
|
183
|
+
- Community health files added
|
|
184
|
+
- NPM ignore list improved
|
|
185
|
+
|
|
186
|
+
## [1.7.0] - 2026-02-24
|
|
187
|
+
|
|
188
|
+
### Added
|
|
189
|
+
- **Agents system** — `@booklib-reviewer`, `@python-reviewer`, `@ts-reviewer` for autonomous code review
|
|
190
|
+
- **Skill-router meta-skill** — Auto-routing to best skill based on context
|
|
191
|
+
- **GitHub Actions workflows** — Automated testing and release pipeline
|
|
192
|
+
- **Skill evaluation framework** — `evals.json` test cases for quality assurance
|
|
193
|
+
|
|
194
|
+
### Changed
|
|
195
|
+
- All skills upgraded to **Platinum** quality (13/13 checks)
|
|
196
|
+
- Scripts added to all skills for practical examples
|
|
197
|
+
- Skill structure standardized with examples/ and references/ directories
|
|
198
|
+
|
|
199
|
+
## [1.6.0] - 2026-02-20
|
|
200
|
+
|
|
201
|
+
### Added
|
|
202
|
+
- **Slash commands system** — Explicit skill invocation without relying on auto-trigger
|
|
203
|
+
- **Skill verification** — `npx booklib eval <skill-name>` for running test cases
|
|
204
|
+
|
|
205
|
+
## [1.5.0] - 2026-02-18
|
|
206
|
+
|
|
207
|
+
### Added
|
|
208
|
+
- `spring-boot-in-action` skill — Enterprise Java best practices
|
|
209
|
+
- Spring Boot patterns and architecture guidance
|
|
210
|
+
|
|
211
|
+
## [1.4.0] - 2026-02-16
|
|
212
|
+
|
|
213
|
+
### Added
|
|
214
|
+
- `effective-typescript` skill — Dan Vanderkam's TypeScript best practices
|
|
215
|
+
- `programming-with-rust` skill — Donis Marshall's practical Rust patterns
|
|
216
|
+
- `rust-in-action` skill — Tim McNamara's systems programming with Rust
|
|
217
|
+
|
|
218
|
+
### Changed
|
|
219
|
+
- Upgraded to Platinum quality across new skills
|
|
220
|
+
|
|
221
|
+
## [1.3.0] - 2026-02-15
|
|
222
|
+
|
|
223
|
+
### Added
|
|
224
|
+
- **Skill-router** — Meta-skill that automatically selects the best skill for your task
|
|
225
|
+
- Improved skill discovery mechanism
|
|
226
|
+
- Better error messages for missing skills
|
|
227
|
+
|
|
228
|
+
## [1.2.0] - 2026-02-14
|
|
229
|
+
|
|
230
|
+
### Added
|
|
231
|
+
- GitHub Pages site with skill browser
|
|
232
|
+
- Animated demo GIF
|
|
233
|
+
- Improved README with better visual hierarchy
|
|
234
|
+
|
|
235
|
+
## [1.1.0] - 2026-02-13
|
|
236
|
+
|
|
237
|
+
### Added
|
|
238
|
+
- NPM version, downloads, and license badges
|
|
239
|
+
- Better documentation structure
|
|
240
|
+
- CLAUDE.md with project overview
|
|
241
|
+
|
|
242
|
+
## [1.0.0] - 2026-02-10
|
|
243
|
+
|
|
244
|
+
### Added
|
|
245
|
+
- **Initial release** with 18 core skills:
|
|
246
|
+
- `animation-at-work`
|
|
247
|
+
- `clean-code-reviewer`
|
|
248
|
+
- `data-intensive-patterns`
|
|
249
|
+
- `data-pipelines`
|
|
250
|
+
- `design-patterns`
|
|
251
|
+
- `domain-driven-design`
|
|
252
|
+
- `effective-java`
|
|
253
|
+
- `effective-kotlin`
|
|
254
|
+
- `effective-python`
|
|
255
|
+
- `kotlin-in-action`
|
|
256
|
+
- `lean-startup`
|
|
257
|
+
- `microservices-patterns`
|
|
258
|
+
- `refactoring-ui`
|
|
259
|
+
- `storytelling-with-data`
|
|
260
|
+
- `system-design-interview`
|
|
261
|
+
- `using-asyncio-python`
|
|
262
|
+
- `web-scraping-python`
|
|
263
|
+
- Plus 4 additional skills
|
|
264
|
+
|
|
265
|
+
- **Installation system** — NPM-based skill installation
|
|
266
|
+
- **Skill structure** — Standardized SKILL.md format with YAML frontmatter
|
|
267
|
+
- **Auto-triggering** — Skills load automatically based on file context
|
|
268
|
+
- **MIT License** — Open-source and permissive
|
|
269
|
+
- **Security policy** — Responsible disclosure guidelines
|
|
270
|
+
- **Code of Conduct** — Community standards
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Release Notes
|
|
275
|
+
|
|
276
|
+
For detailed release notes, see [GitHub Releases](https://github.com/booklib-ai/booklib/releases).
|
|
277
|
+
|
|
278
|
+
## Versioning Policy
|
|
279
|
+
|
|
280
|
+
This project follows **Semantic Versioning**:
|
|
281
|
+
- **MAJOR** — Breaking changes to skill APIs or skill removal
|
|
282
|
+
- **MINOR** — New skills, new features, non-breaking improvements
|
|
283
|
+
- **PATCH** — Bug fixes, documentation improvements, skill enhancements
|
|
284
|
+
|
|
285
|
+
New skills are added regularly and will increment the MINOR version.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.ja.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# BookLib
|
|
2
|
+
|
|
3
|
+
> **日本語:** Цей переклад застарів. Актуальна версія — [README.md](README.md).
|
|
4
|
+
>
|
|
5
|
+
> This translation is outdated. See [README.md](README.md) for the current version.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @booklib/core
|
|
11
|
+
booklib init
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Website: [booklib-ai.github.io/booklib](https://booklib-ai.github.io/booklib/)
|
package/README.ko.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# BookLib
|
|
2
|
+
|
|
3
|
+
> **한국어:** Цей переклад застарів. Актуальна версія — [README.md](README.md).
|
|
4
|
+
>
|
|
5
|
+
> This translation is outdated. See [README.md](README.md) for the current version.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @booklib/core
|
|
11
|
+
booklib init
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Website: [booklib-ai.github.io/booklib](https://booklib-ai.github.io/booklib/)
|
package/README.md
ADDED
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/logo.svg" width="140" alt="booklib"/>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">booklib</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
A context engineering tool for AI coding assistants.<br/>
|
|
9
|
+
Detects post-training knowledge gaps, resolves them automatically,<br/>
|
|
10
|
+
and delivers your team's decisions via MCP to Claude, Cursor, Copilot, and 10+ tools.
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="https://www.npmjs.com/package/@booklib/core"><img src="https://img.shields.io/npm/v/@booklib/core.svg" alt="npm version"/></a>
|
|
15
|
+
<a href="https://www.npmjs.com/package/@booklib/core"><img src="https://img.shields.io/npm/dw/@booklib/core.svg" alt="downloads"/></a>
|
|
16
|
+
<a href="https://github.com/booklib-ai/booklib/stargazers"><img src="https://img.shields.io/github/stars/booklib-ai/booklib?style=flat" alt="stars"/></a>
|
|
17
|
+
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="license"/></a>
|
|
18
|
+
<a href="https://github.com/booklib-ai/booklib/actions"><img src="https://img.shields.io/github/actions/workflow/status/booklib-ai/booklib/check.yml?branch=main" alt="CI"/></a>
|
|
19
|
+
</p>
|
|
20
|
+
|
|
21
|
+
<p align="center">
|
|
22
|
+
767 tests · 23 expert skills · 10 ecosystems · 11 languages · 14 AI tools
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## The Problem
|
|
28
|
+
|
|
29
|
+
Your AI writes code using knowledge from its training data. Your project uses libraries released **after** that cutoff. The result: hallucinated APIs, deprecated patterns, and code that doesn't compile.
|
|
30
|
+
|
|
31
|
+
Your team's decisions — use PaymentIntents, not Charges; always wrap API responses; never useEffect for data fetching — exist nowhere in the AI's training data. The code it generates is idiomatic React or idiomatic Node — just not idiomatic *yours*.
|
|
32
|
+
|
|
33
|
+
When we asked Claude to write code for `botid` (published 2026-03-03, post-training):
|
|
34
|
+
|
|
35
|
+
> *"I can't verify the botid package's actual API. **I won't output code for a package whose API I can't verify.** Guessing function names and signatures would likely give you broken code."*
|
|
36
|
+
|
|
37
|
+
## The Fix
|
|
38
|
+
|
|
39
|
+
BookLib detects every post-training API in your codebase and resolves the gaps automatically.
|
|
40
|
+
|
|
41
|
+
<p align="center">
|
|
42
|
+
<img src="assets/demo.gif" width="800" alt="booklib analyze on vercel/ai-chatbot — 274 post-training APIs detected"/>
|
|
43
|
+
</p>
|
|
44
|
+
|
|
45
|
+
<sub>Real output: <code>booklib analyze</code> on <a href="https://github.com/vercel/ai-chatbot">vercel/ai-chatbot</a> — 82 dependencies, 274 post-training APIs across 158 files.</sub>
|
|
46
|
+
|
|
47
|
+
**Without BookLib** — AI uses AI SDK v5 patterns from training data:
|
|
48
|
+
```typescript
|
|
49
|
+
import { OpenAIStream, StreamingTextResponse } from 'ai'; // removed in v6
|
|
50
|
+
import OpenAI from 'openai';
|
|
51
|
+
|
|
52
|
+
export async function POST(req: Request) {
|
|
53
|
+
const response = await new OpenAI().chat.completions.create({
|
|
54
|
+
model: 'gpt-4', stream: true, messages,
|
|
55
|
+
});
|
|
56
|
+
return new StreamingTextResponse(OpenAIStream(response));
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**With BookLib** — AI gets v6 docs injected at runtime:
|
|
61
|
+
```typescript
|
|
62
|
+
import { streamText, convertToModelMessages,
|
|
63
|
+
createUIMessageStreamResponse } from 'ai';
|
|
64
|
+
import { openai } from '@ai-sdk/openai';
|
|
65
|
+
|
|
66
|
+
export async function POST(req: Request) {
|
|
67
|
+
const result = streamText({
|
|
68
|
+
model: openai('gpt-4o'),
|
|
69
|
+
messages: convertToModelMessages(messages),
|
|
70
|
+
});
|
|
71
|
+
return createUIMessageStreamResponse({
|
|
72
|
+
stream: result.toUIMessageStream(),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Getting Started
|
|
80
|
+
|
|
81
|
+
Requires Node.js >= 18.
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npm install -g @booklib/core
|
|
85
|
+
booklib init
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The wizard detects your stack, configures MCP for your AI tools, and builds the knowledge index. Then see what your AI doesn't know:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
booklib analyze
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Website and skill browser at [booklib-ai.github.io/booklib](https://booklib-ai.github.io/booklib/).
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## How It Works
|
|
99
|
+
|
|
100
|
+
Most context tools wait for your AI to ask. BookLib detects gaps before coding starts and injects corrections as code is written.
|
|
101
|
+
|
|
102
|
+
### 1. Detect Knowledge Gaps
|
|
103
|
+
|
|
104
|
+
Scans your dependencies across npm, PyPI, Maven, Crates.io, RubyGems, Go modules, Packagist, Pub, Swift, and NuGet. Checks publish dates against the model's training cutoff, then cross-references with your source code to find the exact files and APIs affected.
|
|
105
|
+
|
|
106
|
+
### 2. Resolve Automatically
|
|
107
|
+
|
|
108
|
+
For each gap, BookLib fetches current documentation:
|
|
109
|
+
|
|
110
|
+
1. **Context7** — instant, version-specific library docs
|
|
111
|
+
2. **GitHub** — releases, wiki, and discussions
|
|
112
|
+
3. **Manual** — suggests the right `booklib connect` command
|
|
113
|
+
|
|
114
|
+
### 3. Protect at Runtime
|
|
115
|
+
|
|
116
|
+
PreToolUse and PostToolUse hooks inject context as your AI writes code:
|
|
117
|
+
|
|
118
|
+
- **Runtime injection** — 3-10 lines of relevant knowledge inserted before each edit, powered by a pre-computed context map
|
|
119
|
+
- **Import checking** — flags unknown APIs not in the index (11 languages)
|
|
120
|
+
- **Contradiction detection** — warns when code violates team decisions in real-time
|
|
121
|
+
|
|
122
|
+
### 4. Capture Team Knowledge
|
|
123
|
+
|
|
124
|
+
Your team's decisions live nowhere in public docs. BookLib auto-detects project documentation — specs, ADRs, architecture docs — and indexes them alongside your team decisions.
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
booklib capture --title "use PaymentIntents not Charges" --type decision
|
|
128
|
+
booklib connect notion database <db-id>
|
|
129
|
+
booklib connect github discussions org/repo
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Features
|
|
135
|
+
|
|
136
|
+
| Feature | Details |
|
|
137
|
+
|---------|---------|
|
|
138
|
+
| **Gap Detection** | 10 package ecosystems, cross-referenced with source code |
|
|
139
|
+
| **Runtime Injection** | Pre/PostToolUse hooks deliver context as AI writes code |
|
|
140
|
+
| **Context Map** | Maps knowledge to code scopes via imports, terms, file patterns |
|
|
141
|
+
| **Auto-Resolution** | Context7 + GitHub + web connectors fetch current docs |
|
|
142
|
+
| **Processing Modes** | Fast (BM25), Local (Ollama), Cloud AI — choose in wizard |
|
|
143
|
+
| **Import Checking** | Flags unknown APIs in JS/TS, Python, Go, Rust, Java, Kotlin, Ruby, PHP, C#, Swift, Dart |
|
|
144
|
+
| **Decision Checking** | Detects when code contradicts captured team rules |
|
|
145
|
+
| **Knowledge Graph** | Nodes, typed edges, auto-linking, BFS traversal |
|
|
146
|
+
| **Source Connectors** | GitHub, Notion, Context7, local files, web docs, SDD specs (.specify, .planning, .kiro) |
|
|
147
|
+
| **Source Detection** | Auto-detects 12 content types: OpenAPI, ADRs, Gherkin, project docs, and more |
|
|
148
|
+
| **Hybrid Search** | BM25 + vector search + Reciprocal Rank Fusion + cross-encoder reranking |
|
|
149
|
+
| **23 Expert Skills** | Distilled from Effective Java, Clean Code, DDD, and 20 more canonical books |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Works With
|
|
154
|
+
|
|
155
|
+
`booklib init` detects your AI tools and configures [MCP](https://modelcontextprotocol.io) automatically.
|
|
156
|
+
|
|
157
|
+
<p align="center">
|
|
158
|
+
<a href="https://claude.ai/code">Claude Code</a> · <a href="https://cursor.com">Cursor</a> · <a href="https://github.com/features/copilot">Copilot</a> · <a href="https://github.com/google-gemini/gemini-cli">Gemini CLI</a> · <a href="https://openai.com/index/introducing-codex">Codex</a> · <a href="https://windsurf.com">Windsurf</a> · <a href="https://roocode.com">Roo Code</a> · <a href="https://block.github.io/goose">Goose</a> · <a href="https://zed.dev">Zed</a> · <a href="https://continue.dev">Continue</a> · <a href="https://docs.all-hands.dev">OpenHands</a> · <a href="https://www.jetbrains.com/junie">Junie</a> · <a href="https://github.com/opencode-ai/opencode">OpenCode</a> · <a href="https://github.com/cpacker/letta">Letta</a>
|
|
159
|
+
</p>
|
|
160
|
+
|
|
161
|
+
10 tools via MCP, 14 total with instruction-file support. See [AGENTS.md](./AGENTS.md) for per-tool setup.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## CLI Reference
|
|
166
|
+
|
|
167
|
+
**Setup**
|
|
168
|
+
|
|
169
|
+
| Command | Description |
|
|
170
|
+
|---------|-------------|
|
|
171
|
+
| `booklib init` | Guided setup — detects stack, configures MCP, builds index |
|
|
172
|
+
| `booklib index` | Rebuild the search index |
|
|
173
|
+
| `booklib doctor` | Health check for skills and config |
|
|
174
|
+
|
|
175
|
+
**Daily use**
|
|
176
|
+
|
|
177
|
+
| Command | Description |
|
|
178
|
+
|---------|-------------|
|
|
179
|
+
| `booklib gaps` | Find post-training dependencies |
|
|
180
|
+
| `booklib resolve-gaps` | Auto-fix gaps via Context7 and GitHub |
|
|
181
|
+
| `booklib analyze` | Show affected files and post-training APIs |
|
|
182
|
+
| `booklib search "<query>"` | Search skills and knowledge |
|
|
183
|
+
|
|
184
|
+
**Knowledge**
|
|
185
|
+
|
|
186
|
+
| Command | Description |
|
|
187
|
+
|---------|-------------|
|
|
188
|
+
| `booklib capture --title "<t>"` | Save a team decision or insight |
|
|
189
|
+
| `booklib check-imports <file>` | Flag unknown APIs |
|
|
190
|
+
| `booklib check-decisions <file>` | Check code against team rules |
|
|
191
|
+
|
|
192
|
+
**Sources**
|
|
193
|
+
|
|
194
|
+
| Command | Description |
|
|
195
|
+
|---------|-------------|
|
|
196
|
+
| `booklib connect <path>` | Index local documentation |
|
|
197
|
+
| `booklib connect github releases <repo>` | Index GitHub changelogs |
|
|
198
|
+
| `booklib connect notion database <id>` | Index Notion pages |
|
|
199
|
+
| `booklib sources` | List connected sources |
|
|
200
|
+
|
|
201
|
+
Run `booklib --help --all` for the full list.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Architecture
|
|
206
|
+
|
|
207
|
+
Everything runs locally by default. Embeddings via HuggingFace Transformers (CoreML on macOS, CPU elsewhere), vector search via Vectra, lexical search via BM25, all persisted in `.booklib/`. Optional cloud modes (Ollama, Anthropic, OpenAI) for AI-powered reasoning.
|
|
208
|
+
|
|
209
|
+
BookLib complements code context tools:
|
|
210
|
+
|
|
211
|
+
| Layer | Tool | What it knows |
|
|
212
|
+
|-------|------|--------------|
|
|
213
|
+
| Documentation | Context7 | Current library APIs |
|
|
214
|
+
| Code structure | lsp-mcp | Functions, types, call graphs |
|
|
215
|
+
| **Knowledge** | **BookLib** | Post-training gaps, team decisions, expert principles |
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Contributing
|
|
220
|
+
|
|
221
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for the full guide.
|
|
222
|
+
|
|
223
|
+
MIT License | [Issues](https://github.com/booklib-ai/booklib/issues) | [Ko-fi](https://ko-fi.com/booklib) | [Docs](https://booklib-ai.github.io/booklib/)
|
|
224
|
+
|
|
225
|
+
<p align="center">
|
|
226
|
+
<a href="README.md">English</a> · <a href="README.zh-CN.md">中文</a> · <a href="README.ja.md">日本語</a> · <a href="README.ko.md">한국어</a> · <a href="README.pt-BR.md">Português</a> · <a href="README.uk.md">Українська</a>
|
|
227
|
+
</p>
|
package/README.pt-BR.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# BookLib
|
|
2
|
+
|
|
3
|
+
> **Português:** Цей переклад застарів. Актуальна версія — [README.md](README.md).
|
|
4
|
+
>
|
|
5
|
+
> This translation is outdated. See [README.md](README.md) for the current version.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @booklib/core
|
|
11
|
+
booklib init
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Website: [booklib-ai.github.io/booklib](https://booklib-ai.github.io/booklib/)
|
package/README.skills.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/logo.svg" width="80" alt="booklib"/>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">@booklib/skills</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
Curated knowledge sets from canonical books — structured, tagged, ready for AI agents.
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://www.npmjs.com/package/@booklib/skills"><img src="https://img.shields.io/npm/v/@booklib/skills.svg" alt="npm version"/></a>
|
|
13
|
+
<a href="https://www.npmjs.com/package/@booklib/skills"><img src="https://img.shields.io/npm/dw/@booklib/skills.svg" alt="downloads"/></a>
|
|
14
|
+
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="license"/></a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## What's in this package
|
|
20
|
+
|
|
21
|
+
The raw skill files — structured SKILL.md files covering programming, architecture, design, product, and more. Each skill has XML-tagged sections (`<core_principles>`, `<anti_patterns>`, `<examples>`) and frontmatter metadata.
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
skills/
|
|
25
|
+
├── clean-code-reviewer/SKILL.md
|
|
26
|
+
├── effective-java/SKILL.md
|
|
27
|
+
├── effective-kotlin/SKILL.md
|
|
28
|
+
├── domain-driven-design/SKILL.md
|
|
29
|
+
├── refactoring-ui/SKILL.md
|
|
30
|
+
├── lean-startup/SKILL.md
|
|
31
|
+
└── ... 17 more (23 total)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Want the full platform?
|
|
35
|
+
|
|
36
|
+
`@booklib/skills` is the content. For search, MCP integration, knowledge graph, and AI tool configuration, install the full platform:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install -g @booklib/core
|
|
40
|
+
booklib init
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**`@booklib/core`** includes everything in this package plus:
|
|
44
|
+
- Hybrid search engine (BM25 + vector + cross-encoder reranking)
|
|
45
|
+
- MCP server with 5 tools for 14 AI coding assistants
|
|
46
|
+
- Personal knowledge graph
|
|
47
|
+
- Interactive setup wizard
|
|
48
|
+
- Doctor diagnostics
|
|
49
|
+
|
|
50
|
+
[Learn more →](https://github.com/booklib-ai/booklib)
|
package/README.uk.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# BookLib
|
|
2
|
+
|
|
3
|
+
> **Українська:** Цей переклад застарів. Актуальна версія — [README.md](README.md).
|
|
4
|
+
>
|
|
5
|
+
> This translation is outdated. See [README.md](README.md) for the current version.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @booklib/core
|
|
11
|
+
booklib init
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Website: [booklib-ai.github.io/booklib](https://booklib-ai.github.io/booklib/)
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# BookLib
|
|
2
|
+
|
|
3
|
+
> **中文:** Цей переклад застарів. Актуальна версія — [README.md](README.md).
|
|
4
|
+
>
|
|
5
|
+
> This translation is outdated. See [README.md](README.md) for the current version.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @booklib/core
|
|
11
|
+
booklib init
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Website: [booklib-ai.github.io/booklib](https://booklib-ai.github.io/booklib/)
|