@booklib/core 2.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.
Files changed (374) hide show
  1. package/.cursor/rules/booklib-standards.mdc +40 -0
  2. package/.gemini/context.md +372 -0
  3. package/AGENTS.md +166 -0
  4. package/CHANGELOG.md +226 -0
  5. package/CLAUDE.md +81 -0
  6. package/CODE_OF_CONDUCT.md +31 -0
  7. package/CONTRIBUTING.md +304 -0
  8. package/LICENSE +21 -0
  9. package/PLAN.md +28 -0
  10. package/README.ja.md +198 -0
  11. package/README.ko.md +198 -0
  12. package/README.md +503 -0
  13. package/README.pt-BR.md +198 -0
  14. package/README.uk.md +241 -0
  15. package/README.zh-CN.md +198 -0
  16. package/SECURITY.md +9 -0
  17. package/agents/architecture-reviewer.md +136 -0
  18. package/agents/booklib-reviewer.md +90 -0
  19. package/agents/data-reviewer.md +107 -0
  20. package/agents/jvm-reviewer.md +146 -0
  21. package/agents/python-reviewer.md +128 -0
  22. package/agents/rust-reviewer.md +115 -0
  23. package/agents/ts-reviewer.md +110 -0
  24. package/agents/ui-reviewer.md +117 -0
  25. package/assets/logo.svg +36 -0
  26. package/bin/booklib-mcp.js +304 -0
  27. package/bin/booklib.js +1705 -0
  28. package/bin/skills.cjs +1292 -0
  29. package/booklib-router.mdc +36 -0
  30. package/booklib.config.json +19 -0
  31. package/commands/animation-at-work.md +10 -0
  32. package/commands/clean-code-reviewer.md +10 -0
  33. package/commands/data-intensive-patterns.md +10 -0
  34. package/commands/data-pipelines.md +10 -0
  35. package/commands/design-patterns.md +10 -0
  36. package/commands/domain-driven-design.md +10 -0
  37. package/commands/effective-java.md +10 -0
  38. package/commands/effective-kotlin.md +10 -0
  39. package/commands/effective-python.md +10 -0
  40. package/commands/effective-typescript.md +10 -0
  41. package/commands/kotlin-in-action.md +10 -0
  42. package/commands/lean-startup.md +10 -0
  43. package/commands/microservices-patterns.md +10 -0
  44. package/commands/programming-with-rust.md +10 -0
  45. package/commands/refactoring-ui.md +10 -0
  46. package/commands/rust-in-action.md +10 -0
  47. package/commands/skill-router.md +10 -0
  48. package/commands/spring-boot-in-action.md +10 -0
  49. package/commands/storytelling-with-data.md +10 -0
  50. package/commands/system-design-interview.md +10 -0
  51. package/commands/using-asyncio-python.md +10 -0
  52. package/commands/web-scraping-python.md +10 -0
  53. package/community/registry.json +1616 -0
  54. package/hooks/hooks.json +23 -0
  55. package/hooks/posttooluse-capture.mjs +67 -0
  56. package/hooks/suggest.js +153 -0
  57. package/lib/agent-behaviors.js +40 -0
  58. package/lib/agent-detector.js +96 -0
  59. package/lib/config-loader.js +39 -0
  60. package/lib/conflict-resolver.js +148 -0
  61. package/lib/context-builder.js +574 -0
  62. package/lib/discovery-engine.js +298 -0
  63. package/lib/doctor/hook-installer.js +83 -0
  64. package/lib/doctor/usage-tracker.js +87 -0
  65. package/lib/engine/ai-features.js +253 -0
  66. package/lib/engine/auditor.js +103 -0
  67. package/lib/engine/bm25-index.js +178 -0
  68. package/lib/engine/capture.js +120 -0
  69. package/lib/engine/corrections.js +198 -0
  70. package/lib/engine/doctor.js +195 -0
  71. package/lib/engine/graph-injector.js +137 -0
  72. package/lib/engine/graph.js +161 -0
  73. package/lib/engine/handoff.js +405 -0
  74. package/lib/engine/indexer.js +242 -0
  75. package/lib/engine/parser.js +53 -0
  76. package/lib/engine/query-expander.js +42 -0
  77. package/lib/engine/reranker.js +40 -0
  78. package/lib/engine/rrf.js +59 -0
  79. package/lib/engine/scanner.js +151 -0
  80. package/lib/engine/searcher.js +139 -0
  81. package/lib/engine/session-coordinator.js +306 -0
  82. package/lib/engine/session-manager.js +429 -0
  83. package/lib/engine/synthesizer.js +70 -0
  84. package/lib/installer.js +70 -0
  85. package/lib/instinct-block.js +33 -0
  86. package/lib/mcp-config-writer.js +88 -0
  87. package/lib/paths.js +57 -0
  88. package/lib/profiles/design.md +19 -0
  89. package/lib/profiles/general.md +16 -0
  90. package/lib/profiles/research-analysis.md +22 -0
  91. package/lib/profiles/software-development.md +23 -0
  92. package/lib/profiles/writing-content.md +19 -0
  93. package/lib/project-initializer.js +916 -0
  94. package/lib/registry/skills.js +102 -0
  95. package/lib/registry-searcher.js +99 -0
  96. package/lib/rules/rules-manager.js +169 -0
  97. package/lib/skill-fetcher.js +333 -0
  98. package/lib/well-known-builder.js +70 -0
  99. package/lib/wizard/index.js +404 -0
  100. package/lib/wizard/integration-detector.js +41 -0
  101. package/lib/wizard/project-detector.js +100 -0
  102. package/lib/wizard/prompt.js +156 -0
  103. package/lib/wizard/registry-embeddings.js +107 -0
  104. package/lib/wizard/skill-recommender.js +69 -0
  105. package/llms-full.txt +254 -0
  106. package/llms.txt +70 -0
  107. package/package.json +45 -0
  108. package/research-reports/2026-04-01-current-architecture.md +160 -0
  109. package/research-reports/IDEAS.md +93 -0
  110. package/rules/common/clean-code.md +42 -0
  111. package/rules/java/effective-java.md +42 -0
  112. package/rules/kotlin/effective-kotlin.md +37 -0
  113. package/rules/python/effective-python.md +38 -0
  114. package/rules/rust/rust.md +37 -0
  115. package/rules/typescript/effective-typescript.md +42 -0
  116. package/scripts/gen-llms-full.mjs +36 -0
  117. package/scripts/gen-og.mjs +142 -0
  118. package/scripts/validate-frontmatter.js +25 -0
  119. package/skills/animation-at-work/SKILL.md +270 -0
  120. package/skills/animation-at-work/assets/example_asset.txt +1 -0
  121. package/skills/animation-at-work/evals/evals.json +44 -0
  122. package/skills/animation-at-work/evals/results.json +13 -0
  123. package/skills/animation-at-work/examples/after.md +64 -0
  124. package/skills/animation-at-work/examples/before.md +35 -0
  125. package/skills/animation-at-work/references/api_reference.md +369 -0
  126. package/skills/animation-at-work/references/review-checklist.md +79 -0
  127. package/skills/animation-at-work/scripts/audit_animations.py +295 -0
  128. package/skills/animation-at-work/scripts/example.py +1 -0
  129. package/skills/clean-code-reviewer/SKILL.md +444 -0
  130. package/skills/clean-code-reviewer/audit.json +35 -0
  131. package/skills/clean-code-reviewer/evals/evals.json +185 -0
  132. package/skills/clean-code-reviewer/evals/results.json +13 -0
  133. package/skills/clean-code-reviewer/examples/after.md +48 -0
  134. package/skills/clean-code-reviewer/examples/before.md +33 -0
  135. package/skills/clean-code-reviewer/references/api_reference.md +158 -0
  136. package/skills/clean-code-reviewer/references/practices-catalog.md +282 -0
  137. package/skills/clean-code-reviewer/references/review-checklist.md +254 -0
  138. package/skills/clean-code-reviewer/scripts/pre-review.py +206 -0
  139. package/skills/data-intensive-patterns/SKILL.md +267 -0
  140. package/skills/data-intensive-patterns/assets/example_asset.txt +1 -0
  141. package/skills/data-intensive-patterns/evals/evals.json +54 -0
  142. package/skills/data-intensive-patterns/evals/results.json +13 -0
  143. package/skills/data-intensive-patterns/examples/after.md +61 -0
  144. package/skills/data-intensive-patterns/examples/before.md +38 -0
  145. package/skills/data-intensive-patterns/references/api_reference.md +34 -0
  146. package/skills/data-intensive-patterns/references/patterns-catalog.md +551 -0
  147. package/skills/data-intensive-patterns/references/review-checklist.md +193 -0
  148. package/skills/data-intensive-patterns/scripts/adr.py +213 -0
  149. package/skills/data-intensive-patterns/scripts/example.py +1 -0
  150. package/skills/data-pipelines/SKILL.md +259 -0
  151. package/skills/data-pipelines/assets/example_asset.txt +1 -0
  152. package/skills/data-pipelines/evals/evals.json +45 -0
  153. package/skills/data-pipelines/evals/results.json +13 -0
  154. package/skills/data-pipelines/examples/after.md +97 -0
  155. package/skills/data-pipelines/examples/before.md +37 -0
  156. package/skills/data-pipelines/references/api_reference.md +301 -0
  157. package/skills/data-pipelines/references/review-checklist.md +181 -0
  158. package/skills/data-pipelines/scripts/example.py +1 -0
  159. package/skills/data-pipelines/scripts/new_pipeline.py +444 -0
  160. package/skills/design-patterns/SKILL.md +271 -0
  161. package/skills/design-patterns/assets/example_asset.txt +1 -0
  162. package/skills/design-patterns/evals/evals.json +46 -0
  163. package/skills/design-patterns/evals/results.json +13 -0
  164. package/skills/design-patterns/examples/after.md +52 -0
  165. package/skills/design-patterns/examples/before.md +29 -0
  166. package/skills/design-patterns/references/api_reference.md +1 -0
  167. package/skills/design-patterns/references/patterns-catalog.md +726 -0
  168. package/skills/design-patterns/references/review-checklist.md +173 -0
  169. package/skills/design-patterns/scripts/example.py +1 -0
  170. package/skills/design-patterns/scripts/scaffold.py +807 -0
  171. package/skills/domain-driven-design/SKILL.md +142 -0
  172. package/skills/domain-driven-design/assets/example_asset.txt +1 -0
  173. package/skills/domain-driven-design/evals/evals.json +48 -0
  174. package/skills/domain-driven-design/evals/results.json +13 -0
  175. package/skills/domain-driven-design/examples/after.md +80 -0
  176. package/skills/domain-driven-design/examples/before.md +43 -0
  177. package/skills/domain-driven-design/references/api_reference.md +1 -0
  178. package/skills/domain-driven-design/references/patterns-catalog.md +545 -0
  179. package/skills/domain-driven-design/references/review-checklist.md +158 -0
  180. package/skills/domain-driven-design/scripts/example.py +1 -0
  181. package/skills/domain-driven-design/scripts/scaffold.py +421 -0
  182. package/skills/effective-java/SKILL.md +227 -0
  183. package/skills/effective-java/assets/example_asset.txt +1 -0
  184. package/skills/effective-java/evals/evals.json +46 -0
  185. package/skills/effective-java/evals/results.json +13 -0
  186. package/skills/effective-java/examples/after.md +83 -0
  187. package/skills/effective-java/examples/before.md +37 -0
  188. package/skills/effective-java/references/api_reference.md +1 -0
  189. package/skills/effective-java/references/items-catalog.md +955 -0
  190. package/skills/effective-java/references/review-checklist.md +216 -0
  191. package/skills/effective-java/scripts/checkstyle_setup.py +211 -0
  192. package/skills/effective-java/scripts/example.py +1 -0
  193. package/skills/effective-kotlin/SKILL.md +271 -0
  194. package/skills/effective-kotlin/assets/example_asset.txt +1 -0
  195. package/skills/effective-kotlin/audit.json +29 -0
  196. package/skills/effective-kotlin/evals/evals.json +45 -0
  197. package/skills/effective-kotlin/evals/results.json +13 -0
  198. package/skills/effective-kotlin/examples/after.md +36 -0
  199. package/skills/effective-kotlin/examples/before.md +38 -0
  200. package/skills/effective-kotlin/references/api_reference.md +1 -0
  201. package/skills/effective-kotlin/references/practices-catalog.md +1228 -0
  202. package/skills/effective-kotlin/references/review-checklist.md +126 -0
  203. package/skills/effective-kotlin/scripts/example.py +1 -0
  204. package/skills/effective-python/SKILL.md +441 -0
  205. package/skills/effective-python/evals/evals.json +44 -0
  206. package/skills/effective-python/evals/results.json +13 -0
  207. package/skills/effective-python/examples/after.md +56 -0
  208. package/skills/effective-python/examples/before.md +40 -0
  209. package/skills/effective-python/ref-01-pythonic-thinking.md +202 -0
  210. package/skills/effective-python/ref-02-lists-and-dicts.md +146 -0
  211. package/skills/effective-python/ref-03-functions.md +186 -0
  212. package/skills/effective-python/ref-04-comprehensions-generators.md +211 -0
  213. package/skills/effective-python/ref-05-classes-interfaces.md +188 -0
  214. package/skills/effective-python/ref-06-metaclasses-attributes.md +209 -0
  215. package/skills/effective-python/ref-07-concurrency.md +213 -0
  216. package/skills/effective-python/ref-08-robustness-performance.md +248 -0
  217. package/skills/effective-python/ref-09-testing-debugging.md +253 -0
  218. package/skills/effective-python/ref-10-collaboration.md +175 -0
  219. package/skills/effective-python/references/api_reference.md +218 -0
  220. package/skills/effective-python/references/practices-catalog.md +483 -0
  221. package/skills/effective-python/references/review-checklist.md +190 -0
  222. package/skills/effective-python/scripts/lint.py +173 -0
  223. package/skills/effective-typescript/SKILL.md +262 -0
  224. package/skills/effective-typescript/audit.json +29 -0
  225. package/skills/effective-typescript/evals/evals.json +37 -0
  226. package/skills/effective-typescript/evals/results.json +13 -0
  227. package/skills/effective-typescript/examples/after.md +70 -0
  228. package/skills/effective-typescript/examples/before.md +47 -0
  229. package/skills/effective-typescript/references/api_reference.md +118 -0
  230. package/skills/effective-typescript/references/practices-catalog.md +371 -0
  231. package/skills/effective-typescript/scripts/review.py +169 -0
  232. package/skills/kotlin-in-action/SKILL.md +261 -0
  233. package/skills/kotlin-in-action/assets/example_asset.txt +1 -0
  234. package/skills/kotlin-in-action/evals/evals.json +43 -0
  235. package/skills/kotlin-in-action/evals/results.json +13 -0
  236. package/skills/kotlin-in-action/examples/after.md +53 -0
  237. package/skills/kotlin-in-action/examples/before.md +39 -0
  238. package/skills/kotlin-in-action/references/api_reference.md +1 -0
  239. package/skills/kotlin-in-action/references/practices-catalog.md +436 -0
  240. package/skills/kotlin-in-action/references/review-checklist.md +204 -0
  241. package/skills/kotlin-in-action/scripts/example.py +1 -0
  242. package/skills/kotlin-in-action/scripts/setup_detekt.py +224 -0
  243. package/skills/lean-startup/SKILL.md +160 -0
  244. package/skills/lean-startup/assets/example_asset.txt +1 -0
  245. package/skills/lean-startup/evals/evals.json +43 -0
  246. package/skills/lean-startup/evals/results.json +13 -0
  247. package/skills/lean-startup/examples/after.md +80 -0
  248. package/skills/lean-startup/examples/before.md +34 -0
  249. package/skills/lean-startup/references/api_reference.md +319 -0
  250. package/skills/lean-startup/references/review-checklist.md +137 -0
  251. package/skills/lean-startup/scripts/example.py +1 -0
  252. package/skills/lean-startup/scripts/new_experiment.py +286 -0
  253. package/skills/microservices-patterns/SKILL.md +384 -0
  254. package/skills/microservices-patterns/evals/evals.json +45 -0
  255. package/skills/microservices-patterns/evals/results.json +13 -0
  256. package/skills/microservices-patterns/examples/after.md +69 -0
  257. package/skills/microservices-patterns/examples/before.md +40 -0
  258. package/skills/microservices-patterns/references/patterns-catalog.md +391 -0
  259. package/skills/microservices-patterns/references/review-checklist.md +169 -0
  260. package/skills/microservices-patterns/scripts/new_service.py +583 -0
  261. package/skills/programming-with-rust/SKILL.md +209 -0
  262. package/skills/programming-with-rust/evals/evals.json +37 -0
  263. package/skills/programming-with-rust/evals/results.json +13 -0
  264. package/skills/programming-with-rust/examples/after.md +107 -0
  265. package/skills/programming-with-rust/examples/before.md +59 -0
  266. package/skills/programming-with-rust/references/api_reference.md +152 -0
  267. package/skills/programming-with-rust/references/practices-catalog.md +335 -0
  268. package/skills/programming-with-rust/scripts/review.py +142 -0
  269. package/skills/refactoring-ui/SKILL.md +362 -0
  270. package/skills/refactoring-ui/assets/example_asset.txt +1 -0
  271. package/skills/refactoring-ui/evals/evals.json +45 -0
  272. package/skills/refactoring-ui/evals/results.json +13 -0
  273. package/skills/refactoring-ui/examples/after.md +85 -0
  274. package/skills/refactoring-ui/examples/before.md +58 -0
  275. package/skills/refactoring-ui/references/api_reference.md +355 -0
  276. package/skills/refactoring-ui/references/review-checklist.md +114 -0
  277. package/skills/refactoring-ui/scripts/audit_css.py +250 -0
  278. package/skills/refactoring-ui/scripts/example.py +1 -0
  279. package/skills/rust-in-action/SKILL.md +350 -0
  280. package/skills/rust-in-action/evals/evals.json +38 -0
  281. package/skills/rust-in-action/evals/results.json +13 -0
  282. package/skills/rust-in-action/examples/after.md +156 -0
  283. package/skills/rust-in-action/examples/before.md +56 -0
  284. package/skills/rust-in-action/references/practices-catalog.md +346 -0
  285. package/skills/rust-in-action/scripts/review.py +147 -0
  286. package/skills/skill-router/SKILL.md +186 -0
  287. package/skills/skill-router/evals/evals.json +38 -0
  288. package/skills/skill-router/evals/results.json +13 -0
  289. package/skills/skill-router/examples/after.md +63 -0
  290. package/skills/skill-router/examples/before.md +39 -0
  291. package/skills/skill-router/references/api_reference.md +24 -0
  292. package/skills/skill-router/references/routing-heuristics.md +89 -0
  293. package/skills/skill-router/references/skill-catalog.md +174 -0
  294. package/skills/skill-router/scripts/route.py +266 -0
  295. package/skills/spring-boot-in-action/SKILL.md +340 -0
  296. package/skills/spring-boot-in-action/evals/evals.json +39 -0
  297. package/skills/spring-boot-in-action/evals/results.json +13 -0
  298. package/skills/spring-boot-in-action/examples/after.md +185 -0
  299. package/skills/spring-boot-in-action/examples/before.md +84 -0
  300. package/skills/spring-boot-in-action/references/practices-catalog.md +403 -0
  301. package/skills/spring-boot-in-action/scripts/review.py +184 -0
  302. package/skills/storytelling-with-data/SKILL.md +241 -0
  303. package/skills/storytelling-with-data/assets/example_asset.txt +1 -0
  304. package/skills/storytelling-with-data/evals/evals.json +47 -0
  305. package/skills/storytelling-with-data/evals/results.json +13 -0
  306. package/skills/storytelling-with-data/examples/after.md +50 -0
  307. package/skills/storytelling-with-data/examples/before.md +33 -0
  308. package/skills/storytelling-with-data/references/api_reference.md +379 -0
  309. package/skills/storytelling-with-data/references/review-checklist.md +111 -0
  310. package/skills/storytelling-with-data/scripts/chart_review.py +301 -0
  311. package/skills/storytelling-with-data/scripts/example.py +1 -0
  312. package/skills/system-design-interview/SKILL.md +233 -0
  313. package/skills/system-design-interview/assets/example_asset.txt +1 -0
  314. package/skills/system-design-interview/evals/evals.json +46 -0
  315. package/skills/system-design-interview/evals/results.json +13 -0
  316. package/skills/system-design-interview/examples/after.md +94 -0
  317. package/skills/system-design-interview/examples/before.md +27 -0
  318. package/skills/system-design-interview/references/api_reference.md +582 -0
  319. package/skills/system-design-interview/references/review-checklist.md +201 -0
  320. package/skills/system-design-interview/scripts/example.py +1 -0
  321. package/skills/system-design-interview/scripts/new_design.py +421 -0
  322. package/skills/using-asyncio-python/SKILL.md +290 -0
  323. package/skills/using-asyncio-python/assets/example_asset.txt +1 -0
  324. package/skills/using-asyncio-python/evals/evals.json +43 -0
  325. package/skills/using-asyncio-python/evals/results.json +13 -0
  326. package/skills/using-asyncio-python/examples/after.md +68 -0
  327. package/skills/using-asyncio-python/examples/before.md +39 -0
  328. package/skills/using-asyncio-python/references/api_reference.md +267 -0
  329. package/skills/using-asyncio-python/references/review-checklist.md +149 -0
  330. package/skills/using-asyncio-python/scripts/check_blocking.py +270 -0
  331. package/skills/using-asyncio-python/scripts/example.py +1 -0
  332. package/skills/web-scraping-python/SKILL.md +280 -0
  333. package/skills/web-scraping-python/assets/example_asset.txt +1 -0
  334. package/skills/web-scraping-python/evals/evals.json +46 -0
  335. package/skills/web-scraping-python/evals/results.json +13 -0
  336. package/skills/web-scraping-python/examples/after.md +109 -0
  337. package/skills/web-scraping-python/examples/before.md +40 -0
  338. package/skills/web-scraping-python/references/api_reference.md +393 -0
  339. package/skills/web-scraping-python/references/review-checklist.md +163 -0
  340. package/skills/web-scraping-python/scripts/example.py +1 -0
  341. package/skills/web-scraping-python/scripts/new_scraper.py +231 -0
  342. package/skills/writing-plans/audit.json +34 -0
  343. package/tests/agent-detector.test.js +83 -0
  344. package/tests/corrections.test.js +245 -0
  345. package/tests/doctor/hook-installer.test.js +72 -0
  346. package/tests/doctor/usage-tracker.test.js +140 -0
  347. package/tests/engine/benchmark-eval.test.js +31 -0
  348. package/tests/engine/bm25-index.test.js +85 -0
  349. package/tests/engine/capture-command.test.js +35 -0
  350. package/tests/engine/capture.test.js +17 -0
  351. package/tests/engine/graph-augmented-search.test.js +107 -0
  352. package/tests/engine/graph-injector.test.js +44 -0
  353. package/tests/engine/graph.test.js +216 -0
  354. package/tests/engine/hybrid-searcher.test.js +74 -0
  355. package/tests/engine/indexer-bm25.test.js +37 -0
  356. package/tests/engine/mcp-tools.test.js +73 -0
  357. package/tests/engine/project-initializer-mcp.test.js +99 -0
  358. package/tests/engine/query-expander.test.js +36 -0
  359. package/tests/engine/reranker.test.js +51 -0
  360. package/tests/engine/rrf.test.js +49 -0
  361. package/tests/engine/srag-prefix.test.js +47 -0
  362. package/tests/instinct-block.test.js +23 -0
  363. package/tests/mcp-config-writer.test.js +60 -0
  364. package/tests/project-initializer-new-agents.test.js +48 -0
  365. package/tests/rules/rules-manager.test.js +230 -0
  366. package/tests/well-known-builder.test.js +40 -0
  367. package/tests/wizard/integration-detector.test.js +31 -0
  368. package/tests/wizard/project-detector.test.js +51 -0
  369. package/tests/wizard/prompt-session.test.js +61 -0
  370. package/tests/wizard/prompt.test.js +16 -0
  371. package/tests/wizard/registry-embeddings.test.js +35 -0
  372. package/tests/wizard/skill-recommender.test.js +34 -0
  373. package/tests/wizard/slot-count.test.js +25 -0
  374. package/vercel.json +21 -0
@@ -0,0 +1,198 @@
1
+ <p align="center">
2
+ <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>
3
+ </p>
4
+
5
+ <p align="center">
6
+ <img src="assets/logo.svg" width="100" alt="booklib-ai skills"/>
7
+ </p>
8
+
9
+ <h1 align="center">booklib</h1>
10
+
11
+ <p align="center">
12
+ Skills de agentes IA baseadas em livros canônicos — para Claude Code, Cursor, Copilot e Windsurf.<br/>
13
+ Conhecimento especializado de livros de referência, empacotado como skills, comandos, agentes e regras.
14
+ </p>
15
+
16
+ <p align="center">
17
+ <a href="https://www.npmjs.com/package/booklib"><img src="https://img.shields.io/npm/v/booklib.svg" alt="versão npm"/></a>
18
+ <a href="https://www.npmjs.com/package/booklib"><img src="https://img.shields.io/npm/dw/booklib.svg" alt="downloads"/></a>
19
+ <a href="https://github.com/booklib-ai/booklib/stargazers"><img src="https://img.shields.io/github/stars/booklib-ai/booklib?style=flat" alt="estrelas"/></a>
20
+ <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="licença"/></a>
21
+ </p>
22
+
23
+ <p align="center">
24
+ <b>22 skills</b> &nbsp;·&nbsp; <b>8 agentes</b> &nbsp;·&nbsp; <b>6 regras</b> &nbsp;·&nbsp; <b>22 comandos</b> &nbsp;·&nbsp; <b>9 perfis</b>
25
+ </p>
26
+
27
+ ---
28
+
29
+ ## O que é
30
+
31
+ Cada skill empacota as principais práticas de um livro de programação em instruções estruturadas que um agente IA pode aplicar diretamente ao código. Em vez de um prompt genérico "seja um bom programador", você obtém conhecimento especializado e direcionado, fundamentado em fontes como *Effective Java*, *Designing Data-Intensive Applications* e *Clean Code*.
32
+
33
+ ```bash
34
+ # Instalar tudo globalmente
35
+ npx booklib add --all --global
36
+
37
+ # Ou instalar apenas o que sua stack precisa
38
+ npx booklib add --profile=ts --global # TypeScript
39
+ npx booklib add --profile=python --global # Python
40
+ npx booklib add --profile=rust --global # Rust
41
+ npx booklib add --profile=jvm --global # Java / Kotlin
42
+ ```
43
+
44
+ ## Quatro camadas
45
+
46
+ | Camada | Qtd | Como é ativada | Caminho de instalação |
47
+ |--------|-----|---------------|-----------------------|
48
+ | **Skills** | 22 | Automaticamente, com base no tipo de arquivo e contexto da tarefa | `.claude/skills/` |
49
+ | **Comandos** | 22 | Explicitamente — `/effective-python`, `/design-patterns`, etc. | `.claude/commands/` |
50
+ | **Agentes** | 8 | Sob demanda — `@python-reviewer`, `@architecture-reviewer` | `.claude/agents/` |
51
+ | **Regras** | 6 | Sempre — carregadas em toda sessão, sem gatilho | `.claude/rules/` |
52
+
53
+ **Perfis** agrupam todas as quatro camadas por linguagem ou domínio:
54
+
55
+ ```bash
56
+ npx booklib add --profile=python # Python skills + comandos + agente + regras
57
+ npx booklib add --profile=ts # TypeScript
58
+ npx booklib add --profile=rust # Rust
59
+ npx booklib add --profile=jvm # Java + Kotlin + Spring Boot
60
+ npx booklib add --profile=architecture # DDD + microsserviços + design de sistemas
61
+ npx booklib add --profile=data # Pipelines de dados + DDIA
62
+ npx booklib add --profile=ui # Refactoring UI + animações + visualização
63
+ npx booklib add --profile=lean # Lean Startup
64
+ npx booklib add --profile=core # Skill router + clean code — boa opção padrão
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Skills
70
+
71
+ | Skill | Livro | Autor |
72
+ |-------|-------|-------|
73
+ | [animation-at-work](./skills/animation-at-work/) | *Animation at Work* | Rachel Nabors |
74
+ | [clean-code-reviewer](./skills/clean-code-reviewer/) | *Código Limpo (Clean Code)* | Robert C. Martin |
75
+ | [data-intensive-patterns](./skills/data-intensive-patterns/) | *Projetando Sistemas de Dados Intensivos* | Martin Kleppmann |
76
+ | [data-pipelines](./skills/data-pipelines/) | *Data Pipelines Pocket Reference* | James Densmore |
77
+ | [design-patterns](./skills/design-patterns/) | *Head First Design Patterns* | Freeman & Robson |
78
+ | [domain-driven-design](./skills/domain-driven-design/) | *Domain-Driven Design* | Eric Evans |
79
+ | [effective-java](./skills/effective-java/) | *Effective Java* (3ª ed) | Joshua Bloch |
80
+ | [effective-kotlin](./skills/effective-kotlin/) | *Effective Kotlin* (2ª ed) | Marcin Moskała |
81
+ | [effective-python](./skills/effective-python/) | *Effective Python* (3ª ed) | Brett Slatkin |
82
+ | [effective-typescript](./skills/effective-typescript/) | *Effective TypeScript* (2ª ed) | Dan Vanderkam |
83
+ | [kotlin-in-action](./skills/kotlin-in-action/) | *Kotlin in Action* (2ª ed) | Elizarov & Isakova |
84
+ | [lean-startup](./skills/lean-startup/) | *A Startup Enxuta (The Lean Startup)* | Eric Ries |
85
+ | [microservices-patterns](./skills/microservices-patterns/) | *Microsserviços Patterns* | Chris Richardson |
86
+ | [programming-with-rust](./skills/programming-with-rust/) | *Programming with Rust* | Donis Marshall |
87
+ | [refactoring-ui](./skills/refactoring-ui/) | *Refactoring UI* | Wathan & Schoger |
88
+ | [rust-in-action](./skills/rust-in-action/) | *Rust in Action* | Tim McNamara |
89
+ | [skill-router](./skills/skill-router/) | Meta-skill — roteia automaticamente para a skill ideal | booklib-ai |
90
+ | [spring-boot-in-action](./skills/spring-boot-in-action/) | *Spring Boot in Action* | Craig Walls |
91
+ | [storytelling-with-data](./skills/storytelling-with-data/) | *Storytelling com Dados* | Cole Nussbaumer Knaflic |
92
+ | [system-design-interview](./skills/system-design-interview/) | *System Design Interview* | Alex Xu |
93
+ | [using-asyncio-python](./skills/using-asyncio-python/) | *Using Asyncio in Python* | Caleb Hattingh |
94
+ | [web-scraping-python](./skills/web-scraping-python/) | *Web Scraping with Python* | Ryan Mitchell |
95
+
96
+ ---
97
+
98
+ ## Agentes
99
+
100
+ Revisores autônomos que aplicam múltiplas skills em uma única execução. Invoque com `@nome-do-agente` no Claude Code.
101
+
102
+ | Agente | Modelo | Skills aplicadas |
103
+ |--------|--------|-----------------|
104
+ | `@booklib-reviewer` | sonnet | Roteia automaticamente — use quando não souber qual skill usar |
105
+ | `@python-reviewer` | sonnet | effective-python · asyncio · web-scraping |
106
+ | `@ts-reviewer` | sonnet | effective-typescript · clean-code-reviewer |
107
+ | `@jvm-reviewer` | sonnet | effective-java · effective-kotlin · kotlin-in-action · spring-boot |
108
+ | `@rust-reviewer` | sonnet | programming-with-rust · rust-in-action |
109
+ | `@architecture-reviewer` | opus | domain-driven-design · microservices-patterns · system-design · data-intensive |
110
+ | `@data-reviewer` | sonnet | data-intensive-patterns · data-pipelines |
111
+ | `@ui-reviewer` | sonnet | refactoring-ui · storytelling-with-data · animation-at-work |
112
+
113
+ ---
114
+
115
+ ## Regras
116
+
117
+ Padrões de código sempre ativos — instalados em `.claude/rules/` e carregados automaticamente em toda sessão, sem condições de gatilho.
118
+
119
+ | Regra | Linguagem | Fonte |
120
+ |-------|-----------|-------|
121
+ | `clean-code` | todas | *Clean Code* — nomenclatura, funções, comentários, estrutura |
122
+ | `effective-python` | Python | *Effective Python* — estilo Pythônico, tipos, tratamento de erros |
123
+ | `effective-typescript` | TypeScript | *Effective TypeScript* — tipos, inferência, null safety |
124
+ | `effective-java` | Java | *Effective Java* — criação, classes, genéricos, concorrência |
125
+ | `effective-kotlin` | Kotlin | *Effective Kotlin* — segurança, corrotinas, coleções |
126
+ | `rust` | Rust | *Programming with Rust* + *Rust in Action* — ownership, erros, idiomas |
127
+
128
+ ```bash
129
+ npx booklib add --rules # instalar todas as regras
130
+ npx booklib add --rules=python # instalar regras de uma linguagem
131
+ npx booklib add --hooks # instalar o hook de sugestão de skills
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Roteamento de skills
137
+
138
+ Não sabe qual skill usar? A meta-skill `skill-router` seleciona a melhor automaticamente, e o agente `@booklib-reviewer` encapsula essa lógica de ponta a ponta:
139
+
140
+ ```
141
+ Usuário: "Review my order processing service"
142
+
143
+ → skill-router seleciona:
144
+ Principal: domain-driven-design — design do modelo de domínio (Agregados, Objetos de Valor)
145
+ Secundário: microservices-patterns — fronteiras de serviço e comunicação entre serviços
146
+ ```
147
+
148
+ **Benchmark:** [`benchmark/`](./benchmark/) contém uma comparação entre uma revisão de PR padrão e o skill-router roteando para duas skills. O pipeline do skill-router encontrou ~47% mais problemas únicos.
149
+
150
+ ---
151
+
152
+ ## Qualidade
153
+
154
+ As skills são avaliadas com e sem a skill ativa, usando `claude-haiku-4-5` como modelo e juiz. O delta em relação ao baseline é o indicador principal.
155
+
156
+ **Limites:** taxa de aprovação ≥ 80% · delta ≥ 20pp · baseline < 70%
157
+
158
+ Executar avaliações: `ANTHROPIC_API_KEY=... npx booklib eval <nome>`
159
+
160
+ ---
161
+
162
+ ## Estrutura do repositório
163
+
164
+ ```
165
+ booklib-ai/booklib/
166
+ ├── skills/ 22 skills baseadas em livros (SKILL.md + exemplos + avaliações)
167
+ ├── agents/ 8 agentes revisores autônomos
168
+ ├── commands/ 22 slash commands, um por skill
169
+ ├── rules/ 6 padrões de linguagem sempre ativos
170
+ ├── hooks/ Hook UserPromptSubmit do Claude Code
171
+ └── bin/ CLI (skills.js)
172
+ ```
173
+
174
+ ---
175
+
176
+ ## Contribuindo
177
+
178
+ Se você leu um livro que merece estar aqui, abra um PR:
179
+
180
+ ```bash
181
+ # 1. Copie uma skill existente como template
182
+ cp -r skills/clean-code-reviewer skills/your-book-name
183
+
184
+ # 2. Edite SKILL.md, examples/before.md, examples/after.md, evals/evals.json
185
+
186
+ # 3. Valide
187
+ npx booklib check your-book-name
188
+ ```
189
+
190
+ Veja o [CONTRIBUTING.md](./CONTRIBUTING.md) para o guia completo, incluindo como adicionar agentes.
191
+
192
+ **Solicitações em aberto** (tag `good first issue`): [The Pragmatic Programmer](https://github.com/booklib-ai/booklib/issues/2) · [Clean Architecture](https://github.com/booklib-ai/booklib/issues/3) · [A Philosophy of Software Design](https://github.com/booklib-ai/booklib/issues/4) · [Accelerate](https://github.com/booklib-ai/booklib/issues/8) · [mais →](https://github.com/booklib-ai/booklib/issues?q=is%3Aopen+label%3A%22good+first+issue%22)
193
+
194
+ ---
195
+
196
+ ## Licença
197
+
198
+ MIT
package/README.uk.md ADDED
@@ -0,0 +1,241 @@
1
+ <p align="center">
2
+ <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>
3
+ </p>
4
+
5
+ <p align="center">
6
+ <img src="assets/logo.svg" width="100" alt="booklib-ai skills"/>
7
+ </p>
8
+
9
+ <h1 align="center">booklib</h1>
10
+
11
+ <p align="center">
12
+ Відкрита екосистема знань для AI-агентів.<br/>
13
+ Навички з канонічних книг — плюс пошук по спільноті, семантичний пошук та сумісність з оркестраторами.
14
+ </p>
15
+
16
+ <p align="center">
17
+ <a href="https://www.npmjs.com/package/booklib"><img src="https://img.shields.io/npm/v/booklib.svg" alt="npm версія"/></a>
18
+ <a href="https://www.npmjs.com/package/booklib"><img src="https://img.shields.io/npm/dw/booklib.svg" alt="завантаження"/></a>
19
+ <a href="https://github.com/booklib-ai/booklib/stargazers"><img src="https://img.shields.io/github/stars/booklib-ai/booklib?style=flat" alt="зірки"/></a>
20
+ <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="ліцензія"/></a>
21
+ </p>
22
+
23
+ <p align="center">
24
+ <b>22 вбудовані навички</b> &nbsp;·&nbsp; <b>258+ для відкриття</b> &nbsp;·&nbsp; <b>8 агентів</b> &nbsp;·&nbsp; <b>сумісність з obra/superpowers та ruflo</b>
25
+ </p>
26
+
27
+ ---
28
+
29
+ ## Що це таке
30
+
31
+ BookLib пакує експертні знання з канонічних книг з програмування у навички, які AI-агенти можуть застосовувати безпосередньо до вашого коду. Бібліотека містить 22 перевірені навички — і рушій відкриття, який може знаходити, індексувати та впроваджувати сотні додаткових навичок зі спільноти.
32
+
33
+ **Два рівні:**
34
+
35
+ | Рівень | Що робить |
36
+ |--------|-----------|
37
+ | **Вбудована бібліотека** | 22 навички з канонічних книг, попередньо проіндексовані, готові до використання |
38
+ | **Екосистема відкриття** | Знаходить і завантажує навички з GitHub-репозиторіїв, реєстрів спільноти та npm-пакетів |
39
+
40
+ BookLib — не статична інсталяція. Це локальний рушій знань: семантичний пошук по вмісту навичок, автоматичне впровадження контексту через хуки, рольові профілі для агентів-зграй і міст синхронізації, що робить кожну завантажену навичку доступною для будь-якого оркестратора, сумісного з Claude Code.
41
+
42
+ ---
43
+
44
+ ## Як активуються навички
45
+
46
+ | Механізм | Що його запускає | Подробиці |
47
+ |----------|-----------------|-----------|
48
+ | **Хук PreToolUse** | Редагування файлу, що відповідає `filePattern` навички | Впроваджує лише релевантні фрагменти — точно, автоматично, без сповіщень |
49
+ | **Інструмент Skill** | `Skill("effective-kotlin")` | Повний дамп навички на вимогу — для оркестраторів та субагентів |
50
+ | **Пошук** | `booklib search "<концепція>"` | Семантичний векторний пошук — повертає найрелевантніші фрагменти |
51
+ | **Аудит** | `booklib audit <навичка> <файл>` | Застосовує принципи навички до конкретного файлу |
52
+
53
+ **Хук** — точний рівень. Після `booklib hooks install` він спрацьовує при кожному виклику `Read`/`Edit`/`Write`/`Bash`, зіставляє шлях до файлу з патернами навичок і непомітно впроваджує відповідні секції навичок у контекст. Редагуйте `.kt` — отримуєте effective-kotlin. Редагуйте `.py` — отримуєте effective-python.
54
+
55
+ ---
56
+
57
+ ## Швидкий старт
58
+
59
+ ```bash
60
+ # Встановити CLI
61
+ npm install -g booklib
62
+
63
+ # Побудувати локальний індекс пошуку
64
+ booklib index
65
+
66
+ # Встановити хук PreToolUse — автоматично впроваджує навички при редагуванні файлів
67
+ booklib hooks install
68
+
69
+ # Пошук мудрості за концепцією
70
+ booklib search "як обробляти null-значення в Kotlin"
71
+
72
+ # Відкрити та встановити всі довірені навички (вбудовані + спільноти)
73
+ booklib setup
74
+
75
+ # Синхронізувати всі завантажені навички → доступні для Skill tool і оркестраторів
76
+ booklib sync
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Вбудовані навички
82
+
83
+ | Навичка | Книга | Автор |
84
+ |---------|-------|-------|
85
+ | [animation-at-work](./skills/animation-at-work/) | *Animation at Work* | Rachel Nabors |
86
+ | [clean-code-reviewer](./skills/clean-code-reviewer/) | *Clean Code* | Robert C. Martin |
87
+ | [data-intensive-patterns](./skills/data-intensive-patterns/) | *Designing Data-Intensive Applications* | Martin Kleppmann |
88
+ | [data-pipelines](./skills/data-pipelines/) | *Data Pipelines Pocket Reference* | James Densmore |
89
+ | [design-patterns](./skills/design-patterns/) | *Head First Design Patterns* | Freeman & Robson |
90
+ | [domain-driven-design](./skills/domain-driven-design/) | *Domain-Driven Design* | Eric Evans |
91
+ | [effective-java](./skills/effective-java/) | *Effective Java* (3-є вид.) | Joshua Bloch |
92
+ | [effective-kotlin](./skills/effective-kotlin/) | *Effective Kotlin* (2-є вид.) | Marcin Moskała |
93
+ | [effective-python](./skills/effective-python/) | *Effective Python* (3-є вид.) | Brett Slatkin |
94
+ | [effective-typescript](./skills/effective-typescript/) | *Effective TypeScript* (2-є вид.) | Dan Vanderkam |
95
+ | [kotlin-in-action](./skills/kotlin-in-action/) | *Kotlin in Action* (2-є вид.) | Elizarov & Isakova |
96
+ | [lean-startup](./skills/lean-startup/) | *The Lean Startup* | Eric Ries |
97
+ | [microservices-patterns](./skills/microservices-patterns/) | *Microservices Patterns* | Chris Richardson |
98
+ | [programming-with-rust](./skills/programming-with-rust/) | *Programming with Rust* | Donis Marshall |
99
+ | [refactoring-ui](./skills/refactoring-ui/) | *Refactoring UI* | Wathan & Schoger |
100
+ | [rust-in-action](./skills/rust-in-action/) | *Rust in Action* | Tim McNamara |
101
+ | [skill-router](./skills/skill-router/) | Мета-навичка — автоматично маршрутизує до правильної навички | booklib-ai |
102
+ | [spring-boot-in-action](./skills/spring-boot-in-action/) | *Spring Boot in Action* | Craig Walls |
103
+ | [storytelling-with-data](./skills/storytelling-with-data/) | *Storytelling with Data* | Cole Nussbaumer Knaflic |
104
+ | [system-design-interview](./skills/system-design-interview/) | *System Design Interview* | Alex Xu |
105
+ | [using-asyncio-python](./skills/using-asyncio-python/) | *Using Asyncio in Python* | Caleb Hattingh |
106
+ | [web-scraping-python](./skills/web-scraping-python/) | *Web Scraping with Python* | Ryan Mitchell |
107
+
108
+ ---
109
+
110
+ ## Відкриття навичок
111
+
112
+ BookLib може знаходити та індексувати навички поза вбудованим набором. Налаштуйте джерела у `booklib.config.json`:
113
+
114
+ ```json
115
+ {
116
+ "sources": [
117
+ { "type": "registry", "trusted": true },
118
+ { "type": "manifest", "url": "./community/registry.json", "trusted": true },
119
+ { "type": "github-skills-dir", "repo": "obra/superpowers", "dir": "skills", "branch": "main", "trusted": true },
120
+ { "type": "github-org", "org": "your-org" },
121
+ { "type": "npm-scope", "scope": "@your-scope" }
122
+ ]
123
+ }
124
+ ```
125
+
126
+ ```bash
127
+ booklib discover # перелік доступних навичок з усіх джерел
128
+ booklib discover --refresh # примусове повторне сканування
129
+ booklib fetch naming-cheatsheet # завантажити конкретну навичку
130
+ booklib setup # завантажити всі довірені навички одразу
131
+ ```
132
+
133
+ `"trusted": true` — навичка встановлюється автоматично через `booklib setup`. Ненадійні джерела видимі, але потребують явного підтвердження через `booklib fetch <назва>`.
134
+
135
+ ---
136
+
137
+ ## Сумісність з оркестраторами
138
+
139
+ Після `booklib sync` кожна завантажена навичка знаходиться за шляхом `~/.claude/skills/<назва>/SKILL.md` — звідти читає нативний Skill tool Claude Code.
140
+
141
+ ```bash
142
+ booklib sync # записати всі завантажені навички до ~/.claude/skills/
143
+ ```
144
+
145
+ | Оркестратор | Встановлення | Навички доступні через |
146
+ |---|---|---|
147
+ | [obra/superpowers](https://github.com/obra/superpowers) | `/plugin install superpowers` | Skill tool — доступний у кожній сесії |
148
+ | [ruflo](https://github.com/ruvnet/ruflo) | `npm install -g ruflo` | Skill tool — доступний у кожній сесії |
149
+
150
+ ---
151
+
152
+ ## Зграї та рольові профілі
153
+
154
+ ```bash
155
+ booklib profile reviewer # навички для агента-рецензента коду
156
+ booklib profile security # навички для аудитора безпеки
157
+ booklib profile architect # навички для агента системного проєктування
158
+ ```
159
+
160
+ Ролі: `architect` · `coder` · `reviewer` · `tester` · `security` · `frontend` · `optimizer` · `devops` · `ai-engineer` · `manager`
161
+
162
+ ```bash
163
+ booklib swarm-config audit # карта навичок для тригера аудиту
164
+ booklib swarm-config feature # architect → coder → reviewer → tester
165
+ booklib swarm-config # перелік усіх налаштованих тригерів
166
+ ```
167
+
168
+ ---
169
+
170
+ ## Агенти
171
+
172
+ | Агент | Модель | Застосовані навички |
173
+ |-------|--------|---------------------|
174
+ | `@booklib-reviewer` | sonnet | Автоматична маршрутизація до найкращої навички |
175
+ | `@python-reviewer` | sonnet | effective-python · asyncio · web-scraping |
176
+ | `@ts-reviewer` | sonnet | effective-typescript · clean-code-reviewer |
177
+ | `@jvm-reviewer` | sonnet | effective-java · effective-kotlin · kotlin-in-action · spring-boot |
178
+ | `@rust-reviewer` | sonnet | programming-with-rust · rust-in-action |
179
+ | `@architecture-reviewer` | opus | domain-driven-design · microservices-patterns · system-design · data-intensive |
180
+ | `@data-reviewer` | sonnet | data-intensive-patterns · data-pipelines |
181
+ | `@ui-reviewer` | sonnet | refactoring-ui · storytelling-with-data · animation-at-work |
182
+
183
+ ---
184
+
185
+ ## Семантичний пошук та аудит
186
+
187
+ ```bash
188
+ booklib search "як обробляти null-значення в Kotlin"
189
+ booklib search "event sourcing vs CQRS" --role=architect
190
+ booklib audit effective-kotlin src/PaymentService.kt
191
+ booklib scan # теплова карта — порушення по навичках у всьому проєкті
192
+ ```
193
+
194
+ ---
195
+
196
+ ## Передача сесій
197
+
198
+ ```bash
199
+ booklib save-state --goal="..." --next="..." --progress="..."
200
+ booklib resume
201
+ booklib recover-auto # автовідновлення з останньої сесії або git-історії
202
+ ```
203
+
204
+ Координація між агентами:
205
+
206
+ ```bash
207
+ booklib sessions-list
208
+ booklib sessions-merge auth-session,payment-session combined
209
+ booklib sessions-lineage main feature-x "розгалужено для роботи з auth"
210
+ booklib sessions-compare python-audit,kotlin-audit src/auth.ts comparison
211
+ ```
212
+
213
+ ---
214
+
215
+ ## Якість
216
+
217
+ Кожна вбудована навичка оцінюється шляхом запиту до моделі переглянути код з навичкою та без неї. **Дельта** = відсоток проходження з навичкою мінус без неї — вона вимірює, наскільки навичка дійсно змінює поведінку моделі.
218
+
219
+ Порогові значення: відсоток проходження ≥ 80% · дельта ≥ 20пп · базовий рівень < 70%
220
+
221
+ ---
222
+
223
+ ## Внесок у проєкт
224
+
225
+ Щоб додати вбудовану навичку:
226
+
227
+ ```bash
228
+ cp -r skills/clean-code-reviewer skills/назва-вашої-книги
229
+ # Відредагуйте SKILL.md, examples/before.md, examples/after.md, evals/evals.json
230
+ npx booklib check назва-вашої-книги
231
+ ```
232
+
233
+ Щоб додати навичку спільноти — відредагуйте `community/registry.json` та відкрийте PR.
234
+
235
+ Детальніше: [CONTRIBUTING.md](./CONTRIBUTING.md)
236
+
237
+ ---
238
+
239
+ ## Ліцензія
240
+
241
+ MIT
@@ -0,0 +1,198 @@
1
+ <p align="center">
2
+ <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>
3
+ </p>
4
+
5
+ <p align="center">
6
+ <img src="assets/logo.svg" width="100" alt="booklib-ai skills"/>
7
+ </p>
8
+
9
+ <h1 align="center">booklib</h1>
10
+
11
+ <p align="center">
12
+ 基于经典书籍的 AI 代理技能 — 适用于 Claude Code、Cursor、Copilot 和 Windsurf。<br/>
13
+ 将权威书籍中的专家知识,打包为技能、命令、代理和规则。
14
+ </p>
15
+
16
+ <p align="center">
17
+ <a href="https://www.npmjs.com/package/booklib"><img src="https://img.shields.io/npm/v/booklib.svg" alt="npm 版本"/></a>
18
+ <a href="https://www.npmjs.com/package/booklib"><img src="https://img.shields.io/npm/dw/booklib.svg" alt="下载量"/></a>
19
+ <a href="https://github.com/booklib-ai/booklib/stargazers"><img src="https://img.shields.io/github/stars/booklib-ai/booklib?style=flat" alt="Star 数"/></a>
20
+ <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="许可证"/></a>
21
+ </p>
22
+
23
+ <p align="center">
24
+ <b>22 个技能</b> &nbsp;·&nbsp; <b>8 个代理</b> &nbsp;·&nbsp; <b>6 条规则</b> &nbsp;·&nbsp; <b>22 个命令</b> &nbsp;·&nbsp; <b>9 个配置文件</b>
25
+ </p>
26
+
27
+ ---
28
+
29
+ ## 这是什么
30
+
31
+ 每个技能将某本编程书籍中的核心实践,打包成 AI 代理可以直接应用于代码的结构化指令。不再是泛泛的"成为一名好程序员"提示词,而是来自《Effective Java》、《Designing Data-Intensive Applications》和《Clean Code》等权威书籍的针对性专业知识。
32
+
33
+ ```bash
34
+ # 全局安装所有内容
35
+ npx booklib add --all --global
36
+
37
+ # 或只安装适合你技术栈的内容
38
+ npx booklib add --profile=ts --global # TypeScript
39
+ npx booklib add --profile=python --global # Python
40
+ npx booklib add --profile=rust --global # Rust
41
+ npx booklib add --profile=jvm --global # Java / Kotlin
42
+ ```
43
+
44
+ ## 四个层级
45
+
46
+ | 层级 | 数量 | 激活方式 | 安装路径 |
47
+ |------|------|---------|---------|
48
+ | **技能** | 22 | 自动,根据文件类型和任务上下文触发 | `.claude/skills/` |
49
+ | **命令** | 22 | 显式调用 — `/effective-python`、`/design-patterns` 等 | `.claude/commands/` |
50
+ | **代理** | 8 | 按需调用 — `@python-reviewer`、`@architecture-reviewer` | `.claude/agents/` |
51
+ | **规则** | 6 | 始终生效 — 每次会话自动加载,无需触发条件 | `.claude/rules/` |
52
+
53
+ **配置文件**按语言或领域捆绑以上所有层级:
54
+
55
+ ```bash
56
+ npx booklib add --profile=python # Python 技能 + 命令 + 代理 + 规则
57
+ npx booklib add --profile=ts # TypeScript
58
+ npx booklib add --profile=rust # Rust
59
+ npx booklib add --profile=jvm # Java + Kotlin + Spring Boot
60
+ npx booklib add --profile=architecture # DDD + 微服务 + 系统设计
61
+ npx booklib add --profile=data # 数据管道 + DDIA
62
+ npx booklib add --profile=ui # Refactoring UI + 动画 + 数据可视化
63
+ npx booklib add --profile=lean # 精益创业
64
+ npx booklib add --profile=core # 技能路由器 + 代码整洁 — 推荐默认值
65
+ ```
66
+
67
+ ---
68
+
69
+ ## 技能列表
70
+
71
+ | 技能 | 书籍 | 作者 |
72
+ |------|------|------|
73
+ | [animation-at-work](./skills/animation-at-work/) | *Animation at Work* | Rachel Nabors |
74
+ | [clean-code-reviewer](./skills/clean-code-reviewer/) | *Clean Code(代码整洁之道)* | Robert C. Martin |
75
+ | [data-intensive-patterns](./skills/data-intensive-patterns/) | *Designing Data-Intensive Applications(数据密集型应用系统设计)* | Martin Kleppmann |
76
+ | [data-pipelines](./skills/data-pipelines/) | *Data Pipelines Pocket Reference* | James Densmore |
77
+ | [design-patterns](./skills/design-patterns/) | *Head First Design Patterns* | Freeman & Robson |
78
+ | [domain-driven-design](./skills/domain-driven-design/) | *Domain-Driven Design(领域驱动设计)* | Eric Evans |
79
+ | [effective-java](./skills/effective-java/) | *Effective Java(Effective Java 中文版)* (第3版) | Joshua Bloch |
80
+ | [effective-kotlin](./skills/effective-kotlin/) | *Effective Kotlin* (第2版) | Marcin Moskała |
81
+ | [effective-python](./skills/effective-python/) | *Effective Python(Effective Python 中文版)* (第3版) | Brett Slatkin |
82
+ | [effective-typescript](./skills/effective-typescript/) | *Effective TypeScript* (第2版) | Dan Vanderkam |
83
+ | [kotlin-in-action](./skills/kotlin-in-action/) | *Kotlin in Action* (第2版) | Elizarov & Isakova |
84
+ | [lean-startup](./skills/lean-startup/) | *The Lean Startup(精益创业)* | Eric Ries |
85
+ | [microservices-patterns](./skills/microservices-patterns/) | *Microservices Patterns(微服务架构设计模式)* | Chris Richardson |
86
+ | [programming-with-rust](./skills/programming-with-rust/) | *Programming with Rust* | Donis Marshall |
87
+ | [refactoring-ui](./skills/refactoring-ui/) | *Refactoring UI* | Wathan & Schoger |
88
+ | [rust-in-action](./skills/rust-in-action/) | *Rust in Action* | Tim McNamara |
89
+ | [skill-router](./skills/skill-router/) | 元技能 — 自动路由到最合适的技能 | booklib-ai |
90
+ | [spring-boot-in-action](./skills/spring-boot-in-action/) | *Spring Boot in Action* | Craig Walls |
91
+ | [storytelling-with-data](./skills/storytelling-with-data/) | *Storytelling with Data(用数据讲故事)* | Cole Nussbaumer Knaflic |
92
+ | [system-design-interview](./skills/system-design-interview/) | *System Design Interview(系统设计面试)* | Alex Xu |
93
+ | [using-asyncio-python](./skills/using-asyncio-python/) | *Using Asyncio in Python* | Caleb Hattingh |
94
+ | [web-scraping-python](./skills/web-scraping-python/) | *Web Scraping with Python* | Ryan Mitchell |
95
+
96
+ ---
97
+
98
+ ## 代理
99
+
100
+ 自主审查器,在一次执行中应用多个技能。在 Claude Code 中使用 `@代理名称` 调用。
101
+
102
+ | 代理 | 模型 | 应用的技能 |
103
+ |------|------|-----------|
104
+ | `@booklib-reviewer` | sonnet | 自动路由到最佳技能 — 不确定时使用此代理 |
105
+ | `@python-reviewer` | sonnet | effective-python · asyncio · web-scraping |
106
+ | `@ts-reviewer` | sonnet | effective-typescript · clean-code-reviewer |
107
+ | `@jvm-reviewer` | sonnet | effective-java · effective-kotlin · kotlin-in-action · spring-boot |
108
+ | `@rust-reviewer` | sonnet | programming-with-rust · rust-in-action |
109
+ | `@architecture-reviewer` | opus | domain-driven-design · microservices-patterns · system-design · data-intensive |
110
+ | `@data-reviewer` | sonnet | data-intensive-patterns · data-pipelines |
111
+ | `@ui-reviewer` | sonnet | refactoring-ui · storytelling-with-data · animation-at-work |
112
+
113
+ ---
114
+
115
+ ## 规则
116
+
117
+ 始终生效的编码规范 — 安装到 `.claude/rules/`,每次会话自动加载,无需任何触发条件。
118
+
119
+ | 规则 | 语言 | 来源 |
120
+ |------|------|------|
121
+ | `clean-code` | 所有语言 | *Clean Code* — 命名、函数、注释、结构 |
122
+ | `effective-python` | Python | *Effective Python* — Pythonic 风格、类型、错误处理 |
123
+ | `effective-typescript` | TypeScript | *Effective TypeScript* — 类型、推断、空值安全 |
124
+ | `effective-java` | Java | *Effective Java* — 创建、类、泛型、并发 |
125
+ | `effective-kotlin` | Kotlin | *Effective Kotlin* — 安全性、协程、集合 |
126
+ | `rust` | Rust | *Programming with Rust* + *Rust in Action* — 所有权、错误、惯用模式 |
127
+
128
+ ```bash
129
+ npx booklib add --rules # 安装所有规则
130
+ npx booklib add --rules=python # 安装单个语言的规则
131
+ npx booklib add --hooks # 安装技能建议钩子
132
+ ```
133
+
134
+ ---
135
+
136
+ ## 技能路由
137
+
138
+ 不确定用哪个技能?`skill-router` 元技能会自动选择最佳匹配,而 `@booklib-reviewer` 代理则端到端地封装了整个流程:
139
+
140
+ ```
141
+ 用户:"Review my order processing service"
142
+
143
+ → skill-router 选择:
144
+ 主要: domain-driven-design — 领域模型设计(聚合根、值对象)
145
+ 次要: microservices-patterns — 服务边界和服务间通信
146
+ ```
147
+
148
+ **基准测试:** [`benchmark/`](./benchmark/) 展示了标准 PR 审查与 skill-router 路由到两个技能的对比。skill-router 管道多发现了约 47% 的独特问题。
149
+
150
+ ---
151
+
152
+ ## 质量评估
153
+
154
+ 每个技能都在启用和不启用的情况下分别运行评估,使用 `claude-haiku-4-5` 作为模型和评判者。与基线的差值(delta)是关键指标。
155
+
156
+ **阈值:** 通过率 ≥ 80% · delta ≥ 20pp · 基线 < 70%
157
+
158
+ 运行评估:`ANTHROPIC_API_KEY=... npx booklib eval <技能名>`
159
+
160
+ ---
161
+
162
+ ## 仓库结构
163
+
164
+ ```
165
+ booklib-ai/booklib/
166
+ ├── skills/ 22 个基于书籍的技能(SKILL.md + 示例 + 评估)
167
+ ├── agents/ 8 个自主审查代理
168
+ ├── commands/ 22 个斜杠命令,每个技能一个
169
+ ├── rules/ 6 条始终生效的语言规范
170
+ ├── hooks/ Claude Code UserPromptSubmit 钩子
171
+ └── bin/ CLI(skills.js)
172
+ ```
173
+
174
+ ---
175
+
176
+ ## 参与贡献
177
+
178
+ 如果你读过一本适合加入的书籍,欢迎提交 PR:
179
+
180
+ ```bash
181
+ # 1. 基于现有技能创建新技能
182
+ cp -r skills/clean-code-reviewer skills/your-book-name
183
+
184
+ # 2. 编辑 SKILL.md、examples/before.md、examples/after.md、evals/evals.json
185
+
186
+ # 3. 验证
187
+ npx booklib check your-book-name
188
+ ```
189
+
190
+ 完整指南请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md),包括如何添加代理。
191
+
192
+ **待认领的书籍**(标记为 `good first issue`):[The Pragmatic Programmer](https://github.com/booklib-ai/booklib/issues/2) · [Clean Architecture](https://github.com/booklib-ai/booklib/issues/3) · [A Philosophy of Software Design](https://github.com/booklib-ai/booklib/issues/4) · [Accelerate](https://github.com/booklib-ai/booklib/issues/8) · [更多 →](https://github.com/booklib-ai/booklib/issues?q=is%3Aopen+label%3A%22good+first+issue%22)
193
+
194
+ ---
195
+
196
+ ## 许可证
197
+
198
+ MIT
package/SECURITY.md ADDED
@@ -0,0 +1,9 @@
1
+ # Security Policy
2
+
3
+ ## Reporting a Vulnerability
4
+
5
+ Skills in this repository are markdown instruction files — they contain no executable code that runs on install. However, if you discover a skill that contains malicious instructions or attempts to exfiltrate data, please report it responsibly.
6
+
7
+ **Do not open a public issue.** Instead, report security concerns via [GitHub's private vulnerability reporting](https://github.com/booklib-ai/booklib/security/advisories/new).
8
+
9
+ We will respond within 48 hours and issue a fix promptly.