boost-skill-cli 1.0.203__tar.gz → 1.0.204__tar.gz

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 (379) hide show
  1. {boost_skill_cli-1.0.203/boost_skill_cli.egg-info → boost_skill_cli-1.0.204}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204/boost_skill_cli.egg-info}/PKG-INFO +1 -1
  4. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_skill_cli.egg-info/SOURCES.txt +2 -0
  5. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/adapters.html +40 -9
  6. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/commands.html +40 -1
  7. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/design-roadmap.html +61 -38
  8. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/eval.html +40 -15
  9. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/index.html +43 -20
  10. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/mcp-hub.html +40 -16
  11. boost_skill_cli-1.0.204/docs/roadmap/items/docsite-chrome-and-content-audit.md +41 -0
  12. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap.html +192 -148
  13. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/build_command_reference.py +40 -1
  14. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/build_roadmap.py +5 -3
  15. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/style/boost.css +51 -2
  16. boost_skill_cli-1.0.204/tests/unit/test_docsite_chrome.py +210 -0
  17. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.gitattributes +0 -0
  18. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.gitignore +0 -0
  19. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.gitleaks.toml +0 -0
  20. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.htmlvalidate.json +0 -0
  21. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.lighthouserc.json +0 -0
  22. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.lycheeignore +0 -0
  23. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.markdownlint-cli2.jsonc +0 -0
  24. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.pre-commit-config.yaml +0 -0
  25. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.stylelintrc.json +0 -0
  26. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.vale/styles/boost/Terminology.yml +0 -0
  27. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  28. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/.vale.ini +0 -0
  29. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/CLAUDE.md +0 -0
  30. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/CONTRIBUTING.md +0 -0
  31. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/LICENSE +0 -0
  32. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/MANIFEST.in +0 -0
  33. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/Makefile +0 -0
  34. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/README.md +0 -0
  35. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/SECURITY.md +0 -0
  36. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost +0 -0
  37. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/__init__.py +0 -0
  38. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/__main__.py +0 -0
  39. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/cli.py +0 -0
  40. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/cliparse.py +0 -0
  41. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/__init__.py +0 -0
  42. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/_common.py +0 -0
  43. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/bmad.py +0 -0
  44. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/configuration.py +0 -0
  45. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/discovery.py +0 -0
  46. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/hooks.py +0 -0
  47. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/info.py +0 -0
  48. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/intelligence.py +0 -0
  49. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/pkg.py +0 -0
  50. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/quality.py +0 -0
  51. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/run.py +0 -0
  52. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/safety.py +0 -0
  53. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/taps.py +0 -0
  54. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/commands/team.py +0 -0
  55. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/__init__.py +0 -0
  56. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/adapters.py +0 -0
  57. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/agents.py +0 -0
  58. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/ai.py +0 -0
  59. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/capabilities.py +0 -0
  60. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/catalog.py +0 -0
  61. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/claude_settings.py +0 -0
  62. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/config.py +0 -0
  63. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/dense.py +0 -0
  64. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/ed25519.py +0 -0
  65. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/embed.py +0 -0
  66. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/faithfulness.py +0 -0
  67. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/frontmatter.py +0 -0
  68. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/gitutil.py +0 -0
  69. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/imperative.py +0 -0
  70. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/injectscan.py +0 -0
  71. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/integrity.py +0 -0
  72. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/journal.py +0 -0
  73. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/lockfile.py +0 -0
  74. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/logs.py +0 -0
  75. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/mcp.py +0 -0
  76. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/minisign.py +0 -0
  77. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/nethttp.py +0 -0
  78. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/output.py +0 -0
  79. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/paths.py +0 -0
  80. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/policy.py +0 -0
  81. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/projectlock.py +0 -0
  82. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/provenance.py +0 -0
  83. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/rag.py +0 -0
  84. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/registry.py +0 -0
  85. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/resolve.py +0 -0
  86. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/rules.py +0 -0
  87. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/scopes.py +0 -0
  88. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/secretscan.py +0 -0
  89. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/serve.py +0 -0
  90. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/stackprobe.py +0 -0
  91. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/staleness.py +0 -0
  92. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/store.py +0 -0
  93. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/typosquat.py +0 -0
  94. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/updatediff.py +0 -0
  95. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/util.py +0 -0
  96. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/core/workflows.py +0 -0
  97. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/data/registries.json +0 -0
  98. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/errors.py +0 -0
  99. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_cli/spin.py +0 -0
  100. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  101. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  102. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_skill_cli.egg-info/requires.txt +0 -0
  103. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/boost_skill_cli.egg-info/top_level.txt +0 -0
  104. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/.claude/settings.local.json +0 -0
  105. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/DEBUGGING.md +0 -0
  106. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/demo.gif +0 -0
  107. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/demo.tape +0 -0
  108. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/rag-architecture.md +0 -0
  109. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D01.md +0 -0
  110. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D02.md +0 -0
  111. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D03.md +0 -0
  112. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D04.md +0 -0
  113. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D05.md +0 -0
  114. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D06.md +0 -0
  115. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D07.md +0 -0
  116. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D08.md +0 -0
  117. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D09.md +0 -0
  118. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D10.md +0 -0
  119. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D11.md +0 -0
  120. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D12.md +0 -0
  121. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D13.md +0 -0
  122. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D14.md +0 -0
  123. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D15.md +0 -0
  124. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D16.md +0 -0
  125. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D17.md +0 -0
  126. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D18.md +0 -0
  127. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D19.md +0 -0
  128. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D20.md +0 -0
  129. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D21.md +0 -0
  130. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D22.md +0 -0
  131. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D23.md +0 -0
  132. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D24.md +0 -0
  133. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D25.md +0 -0
  134. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/BOOST-D26.md +0 -0
  135. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  136. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  137. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  138. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  139. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  140. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  141. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  142. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  143. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  144. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  145. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  146. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  147. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  148. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  149. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  150. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  151. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  152. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  153. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  154. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  155. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  156. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  157. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  158. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  159. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  160. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  161. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  162. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  163. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  164. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  165. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  166. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  167. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  168. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  169. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  170. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  171. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  172. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  173. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  174. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  175. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  176. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  177. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  178. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  179. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  180. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  181. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  182. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  183. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  184. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  185. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  186. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  187. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  188. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  189. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  190. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  191. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  192. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  193. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  194. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  195. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  196. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  197. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  198. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  199. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  200. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  201. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  202. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  203. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  204. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  205. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  206. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  207. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  208. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  209. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  210. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  211. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  212. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  213. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  214. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  215. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  216. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  217. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  218. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  219. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  220. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  221. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  222. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  223. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  224. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  225. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  226. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  227. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  228. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  229. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  230. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  231. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  232. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  233. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  234. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  235. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  236. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  237. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  238. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  239. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  240. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  241. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  242. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  243. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  244. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  245. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  246. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  247. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  248. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  249. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/docs/roadmap/items/workspace-scope-install.md +0 -0
  250. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/eslint.config.mjs +0 -0
  251. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/examples/README.md +0 -0
  252. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/examples/adapt-demo.sh +0 -0
  253. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/examples/boost-run-prototype.sh +0 -0
  254. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/index.html +0 -0
  255. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/noxfile.py +0 -0
  256. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/pyproject.toml +0 -0
  257. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/requirements/lint-tools.txt +0 -0
  258. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/bench_cli.sh +0 -0
  259. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/build_registries.py +0 -0
  260. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/check_anchors.py +0 -0
  261. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/ensure_eval_corpus.sh +0 -0
  262. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/eval_explain.py +0 -0
  263. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/eval_recommend.py +0 -0
  264. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/eval_retrieval.py +0 -0
  265. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/eval_stats_summary.py +0 -0
  266. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/import_budget.py +0 -0
  267. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/mutation_gate.py +0 -0
  268. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/scripts/perf_gate.py +0 -0
  269. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/setup.cfg +0 -0
  270. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/style/README.md +0 -0
  271. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/style/boost.js +0 -0
  272. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/style/demo.html +0 -0
  273. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/adapt.feature +0 -0
  274. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/browse.feature +0 -0
  275. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/count.feature +0 -0
  276. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/discover.feature +0 -0
  277. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/doctor.feature +0 -0
  278. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/environment.py +0 -0
  279. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/explain.feature +0 -0
  280. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/index.feature +0 -0
  281. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/install.feature +0 -0
  282. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/list.feature +0 -0
  283. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/mcp.feature +0 -0
  284. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/search.feature +0 -0
  285. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/steps/cli_steps.py +0 -0
  286. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/steps/discovery_steps.py +0 -0
  287. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/steps/mcp_steps.py +0 -0
  288. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/bdd/features/steps/quality_steps.py +0 -0
  289. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/conftest.py +0 -0
  290. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/eval/baseline.json +0 -0
  291. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/eval/explain.jsonl +0 -0
  292. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/eval/golden.jsonl +0 -0
  293. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/eval/recommend.jsonl +0 -0
  294. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/eval/taps.txt +0 -0
  295. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_capabilities_policy.py +0 -0
  296. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_adapt.py +0 -0
  297. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_bmad.py +0 -0
  298. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_configuration.py +0 -0
  299. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_discovery.py +0 -0
  300. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_hooks.py +0 -0
  301. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_info.py +0 -0
  302. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_intelligence.py +0 -0
  303. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_pkg.py +0 -0
  304. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_quality.py +0 -0
  305. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_taps.py +0 -0
  306. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_cli_team.py +0 -0
  307. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_everyday_loop.py +0 -0
  308. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_integrity_enforce.py +0 -0
  309. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_property_parsers.py +0 -0
  310. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_run.py +0 -0
  311. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_tap_signing.py +0 -0
  312. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/functional/test_workspace_scope.py +0 -0
  313. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/make_fixture.py +0 -0
  314. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/perf/test_benchmarks.py +0 -0
  315. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/smoke.sh +0 -0
  316. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_adapters.py +0 -0
  317. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_adapters_multi.py +0 -0
  318. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_adapters_runner.py +0 -0
  319. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_agents.py +0 -0
  320. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_ai.py +0 -0
  321. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_capabilities.py +0 -0
  322. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_catalog.py +0 -0
  323. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_check_anchors.py +0 -0
  324. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_claude_settings.py +0 -0
  325. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_cliparse.py +0 -0
  326. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_command_reference_fresh.py +0 -0
  327. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_config.py +0 -0
  328. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_dense.py +0 -0
  329. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_dense_fallback.py +0 -0
  330. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_docs_pages_linked.py +0 -0
  331. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_ed25519.py +0 -0
  332. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_embed.py +0 -0
  333. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_errors_and_cli_table.py +0 -0
  334. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_eval_stats_summary.py +0 -0
  335. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_faithfulness.py +0 -0
  336. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_frontmatter.py +0 -0
  337. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_gitleaks_config.py +0 -0
  338. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_gitutil.py +0 -0
  339. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_imperative.py +0 -0
  340. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_import_budget.py +0 -0
  341. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_injectscan.py +0 -0
  342. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_integrity.py +0 -0
  343. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_journal.py +0 -0
  344. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_lockfile.py +0 -0
  345. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_logs.py +0 -0
  346. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_mcp.py +0 -0
  347. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_minisign.py +0 -0
  348. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_mutation_hardening.py +0 -0
  349. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_nethttp.py +0 -0
  350. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_output.py +0 -0
  351. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_paths.py +0 -0
  352. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_perf_gate.py +0 -0
  353. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_pkg_confusions.py +0 -0
  354. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_pkg_injection.py +0 -0
  355. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_pkg_secrets.py +0 -0
  356. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_policy.py +0 -0
  357. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_projectlock.py +0 -0
  358. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_provenance.py +0 -0
  359. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_rag.py +0 -0
  360. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_registries_fresh.py +0 -0
  361. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_registry.py +0 -0
  362. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_resolve.py +0 -0
  363. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_roadmap_fresh.py +0 -0
  364. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_rules.py +0 -0
  365. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_scopes.py +0 -0
  366. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_secretscan.py +0 -0
  367. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_serve.py +0 -0
  368. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_spin.py +0 -0
  369. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_stackprobe.py +0 -0
  370. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_staleness.py +0 -0
  371. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_store.py +0 -0
  372. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_token_parity.py +0 -0
  373. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_typosquat.py +0 -0
  374. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_updatediff.py +0 -0
  375. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_util.py +0 -0
  376. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_version.py +0 -0
  377. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/unit/test_workflows.py +0 -0
  378. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/visual/package.json +0 -0
  379. {boost_skill_cli-1.0.203 → boost_skill_cli-1.0.204}/tests/visual/visual_check.mjs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.203
3
+ Version: 1.0.204
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '1.0.203'
22
- __version_tuple__ = version_tuple = (1, 0, 203)
21
+ __version__ = version = '1.0.204'
22
+ __version_tuple__ = version_tuple = (1, 0, 204)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.203
3
+ Version: 1.0.204
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -150,6 +150,7 @@ docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md
150
150
  docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md
151
151
  docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md
152
152
  docs/roadmap/items/dependency-cve-gate-pip-audit.md
153
+ docs/roadmap/items/docsite-chrome-and-content-audit.md
153
154
  docs/roadmap/items/docstring-coverage-interrogate.md
154
155
  docs/roadmap/items/doctor-checks-rules-and-workflows.md
155
156
  docs/roadmap/items/end-of-options-guard-on-git-commands.md
@@ -325,6 +326,7 @@ tests/unit/test_config.py
325
326
  tests/unit/test_dense.py
326
327
  tests/unit/test_dense_fallback.py
327
328
  tests/unit/test_docs_pages_linked.py
329
+ tests/unit/test_docsite_chrome.py
328
330
  tests/unit/test_ed25519.py
329
331
  tests/unit/test_embed.py
330
332
  tests/unit/test_errors_and_cli_table.py
@@ -65,7 +65,23 @@
65
65
  </head>
66
66
  <body>
67
67
 
68
- <main>
68
+ <header>
69
+ <div class="wrap site-nav">
70
+ <a class="logo" href="index.html"><b>boost</b><span>Adapters</span></a>
71
+ <ul>
72
+ <li><a href="index.html">Guide</a></li>
73
+ <li><a href="commands.html">Commands</a></li>
74
+ <li><a href="roadmap.html">Roadmap</a></li>
75
+ <li><a href="design-roadmap.html">Design</a></li>
76
+ <li><a href="mcp-hub.html">MCP Hub</a></li>
77
+ <li><a href="eval.html">Evaluation</a></li>
78
+ <li><a href="#top" aria-current="page">Adapters</a></li>
79
+ <li><a href="https://github.com/jonnyeclectic/boost">GitHub</a></li>
80
+ </ul>
81
+ </div>
82
+ </header>
83
+
84
+ <main id="top">
69
85
  <!-- ===== hero ===== -->
70
86
  <div class="wrap hero">
71
87
  <p class="crumbs"><a href="index.html">boost</a> / docs / adapters · <span class="mono">boost adapt</span></p>
@@ -327,16 +343,31 @@ python3 -m venv /tmp/crew &amp;&amp; /tmp/crew/bin/pip install <span class="s">"
327
343
  </div>
328
344
  </section>
329
345
 
330
- <footer>
331
- <div class="wrap">
332
- <p>boost · <b>Framework adapters</b> — <code class="mono">boost adapt &lt;skill&gt; --to &lt;framework&gt;</code> ·
333
- <a href="index.html">docs home</a> ·
334
- <a href="mcp-hub.html">RAG &amp; MCP hub</a><br>
335
- Styled with the shared <a href="../style/boost.css">Aurora</a> design system.</p>
336
- </div>
337
- </footer>
338
346
  </main>
339
347
 
348
+ <footer>
349
+ <div class="wrap">
350
+ <p class="foot-brand"><b>boost</b> — a package manager for AI coding skills</p>
351
+ <p class="foot-note">Install with <code>pip install boost-skill-cli</code> · requires Python 3.9+ and <code>git</code></p>
352
+ <nav class="foot-links" aria-label="Documentation">
353
+ <a href="index.html">Guide</a>
354
+ <a href="commands.html">Commands</a>
355
+ <a href="roadmap.html">Roadmap</a>
356
+ <a href="design-roadmap.html">Design</a>
357
+ <a href="mcp-hub.html">MCP Hub</a>
358
+ <a href="eval.html">Evaluation</a>
359
+ <a href="#top" aria-current="page">Adapters</a>
360
+ </nav>
361
+ <p class="foot-legal">
362
+ <a href="https://github.com/jonnyeclectic/boost">GitHub</a> ·
363
+ <a href="https://pypi.org/project/boost-skill-cli/">PyPI</a> ·
364
+ <a href="https://jonnyeclectic.github.io/portfolio/">Portfolio</a> ·
365
+ Released under the GPL-3.0 license
366
+ </p>
367
+ </div>
368
+ </footer>
369
+
370
+
340
371
  <script src="../style/boost.js" defer></script>
341
372
  </body>
342
373
  </html>
@@ -70,6 +70,25 @@
70
70
  border-right: none; border-bottom: 1px solid var(--line); }
71
71
  .arg { grid-template-columns: 1fr; gap: 2px; }
72
72
  }
73
+
74
+ /* Site footer — same content as every other docs page. This page is
75
+ self-contained (its sidebar layout owns .wrap), so the rules are local. */
76
+ footer { border-top: 1px solid var(--line); padding: 30px 20px 40px; text-align: center; }
77
+ footer .foot-brand { font-size: 14.5px; color: var(--text-2); }
78
+ footer .foot-brand b { font-family: var(--mono); font-weight: 700; color: var(--amber); }
79
+ footer .foot-note { margin-top: 9px; font-size: 13px; color: var(--text-2); opacity: .8; }
80
+ footer .foot-note code { font-size: .92em; color: var(--amber);
81
+ background: rgba(34,211,238,.08); border: 1px solid var(--line);
82
+ border-radius: 6px; padding: 2px 8px; }
83
+ footer .foot-links { display: flex; flex-wrap: wrap; justify-content: center;
84
+ gap: 4px 6px; margin-top: 16px; }
85
+ footer .foot-links a { display: flex; align-items: center; min-height: 40px;
86
+ padding: 5px 11px; border-radius: 8px; font-size: 13px;
87
+ color: var(--text-2); text-decoration: none; }
88
+ footer .foot-links a:hover,
89
+ footer .foot-links a[aria-current="page"] { color: var(--text); background: var(--panel); }
90
+ footer .foot-legal { margin-top: 13px; font-size: 12.5px; color: var(--text-2); opacity: .75; }
91
+ footer .foot-legal a { color: var(--text-2); text-decoration: underline; }
73
92
  </style>
74
93
  </head>
75
94
  <body>
@@ -182,7 +201,7 @@
182
201
  </div>
183
202
  <div id="nohits">No commands match.</div>
184
203
  </aside>
185
- <main>
204
+ <main id="top">
186
205
  <h1>boost <b>command reference</b></h1>
187
206
  <p class="lead">All <b>78</b> commands, generated from the CLI itself —
188
207
  run <code>boost &lt;command&gt; --help</code> for the same in your terminal.</p>
@@ -1149,6 +1168,26 @@
1149
1168
  </section>
1150
1169
  </main>
1151
1170
  </div>
1171
+
1172
+ <footer>
1173
+ <p class="foot-brand"><b>boost</b> &mdash; a package manager for AI coding skills</p>
1174
+ <p class="foot-note">Install with <code>pip install boost-skill-cli</code> &middot; requires Python 3.9+ and <code>git</code></p>
1175
+ <nav class="foot-links" aria-label="Documentation">
1176
+ <a href="index.html">Guide</a>
1177
+ <a href="#top" aria-current="page">Commands</a>
1178
+ <a href="roadmap.html">Roadmap</a>
1179
+ <a href="design-roadmap.html">Design</a>
1180
+ <a href="mcp-hub.html">MCP Hub</a>
1181
+ <a href="eval.html">Evaluation</a>
1182
+ <a href="adapters.html">Adapters</a>
1183
+ </nav>
1184
+ <p class="foot-legal">
1185
+ <a href="https://github.com/jonnyeclectic/boost">GitHub</a> &middot;
1186
+ <a href="https://pypi.org/project/boost-skill-cli/">PyPI</a> &middot;
1187
+ <a href="https://jonnyeclectic.github.io/portfolio/">Portfolio</a> &middot;
1188
+ Released under the GPL-3.0 license
1189
+ </p>
1190
+ </footer>
1152
1191
  <script>
1153
1192
  (function () {
1154
1193
  var q = document.getElementById('q');
@@ -100,8 +100,8 @@
100
100
 
101
101
  .no-results { text-align: center; color: var(--text-2); padding: 70px 0 30px; display: none; }
102
102
 
103
- .foot-note { max-width: 780px; margin: 70px auto 0; text-align: center; font-size: 13.5px; color: var(--text-3); line-height: 1.6; }
104
- .foot-note code { color: var(--yellow); }
103
+ .page-note { max-width: 780px; margin: 70px auto 0; text-align: center; font-size: 13.5px; color: var(--text-3); line-height: 1.6; }
104
+ .page-note code { color: var(--yellow); }
105
105
 
106
106
  @media (max-width: 860px) {
107
107
  .stats { grid-template-columns: repeat(2, 1fr); }
@@ -112,16 +112,17 @@
112
112
  <body>
113
113
 
114
114
  <header>
115
- <div class="wrap nav">
116
- <a class="logo" href="./index.html"><b>boost</b><span>Design Roadmap</span></a>
115
+ <div class="wrap site-nav">
116
+ <a class="logo" href="index.html"><b>boost</b><span>Design Roadmap</span></a>
117
117
  <ul>
118
- <li><a href="#color">Color</a></li>
119
- <li><a href="#layout">Layout</a></li>
120
- <li><a href="#motion">Motion</a></li>
121
- <li><a href="#commands">Commands</a></li>
122
- <li><a href="#system">System</a></li>
123
- <li><a href="./roadmap.html">Engineering →</a></li>
124
- <li><a class="cta" href="./index.html">← Visual Guide</a></li>
118
+ <li><a href="index.html">Guide</a></li>
119
+ <li><a href="commands.html">Commands</a></li>
120
+ <li><a href="roadmap.html">Roadmap</a></li>
121
+ <li><a href="#top" aria-current="page">Design</a></li>
122
+ <li><a href="mcp-hub.html">MCP Hub</a></li>
123
+ <li><a href="eval.html">Evaluation</a></li>
124
+ <li><a href="adapters.html">Adapters</a></li>
125
+ <li><a href="https://github.com/jonnyeclectic/boost">GitHub</a></li>
125
126
  </ul>
126
127
  </div>
127
128
  </header>
@@ -231,7 +232,7 @@
231
232
  <div class="rcards">
232
233
 
233
234
  <!-- ROADMAP:cards track=color -->
234
- <article class="ritem" data-track="color" data-impact="high">
235
+ <article class="ritem" id="BOOST-D01" data-track="color" data-impact="high">
235
236
  <div class="ritem-top"><span class="rid">BOOST-D01</span><span class="rstatus done">Shipped</span></div>
236
237
  <h4>24-bit Aurora palette in <code>output.py</code></h4>
237
238
  <p>The whole CLI runs on eight legacy SGR codes (<code>RED</code>…<code>CYAN</code>) that don't match the brand at all — the front door paints section headers in generic <code>[33m</code> yellow. Add truecolor <code>rgb()</code> helpers mapping the exact web tokens: cyan <b>#22d3ee</b>, violet <b>#a855f7</b>, pink <b>#f472d0</b>, green <b>#4ade80</b>, yellow <b>#facc15</b>, plus <code>--text</code>/<code>--text-3</code> greys. One map recolors everything.</p>
@@ -239,7 +240,7 @@
239
240
  <div class="rref"><code>core/output.py:15–38</code></div>
240
241
  </article>
241
242
 
242
- <article class="ritem" data-track="color" data-impact="high">
243
+ <article class="ritem" id="BOOST-D02" data-track="color" data-impact="high">
243
244
  <div class="ritem-top"><span class="rid">BOOST-D02</span><span class="rstatus done">Shipped</span></div>
244
245
  <h4>Terminal capability detection &amp; graceful degradation</h4>
245
246
  <p><code>use_color()</code> is binary — color or nothing. Add a tier ladder: <b>truecolor</b> (<code>COLORTERM=truecolor/24bit</code>) → <b>256</b> → <b>16</b> → <b>none</b>, so the Aurora tokens snap to the nearest available color instead of vanishing. Keep the existing <code>NO_COLOR</code> honor, add a <code>BOOST_COLOR=always/auto/never</code> override, and treat <code>TERM=dumb</code> as none.</p>
@@ -247,7 +248,7 @@
247
248
  <div class="rref"><code>core/output.py:26–38</code></div>
248
249
  </article>
249
250
 
250
- <article class="ritem" data-track="color" data-impact="med">
251
+ <article class="ritem" id="BOOST-D03" data-track="color" data-impact="med">
251
252
  <div class="ritem-top"><span class="rid">BOOST-D03</span><span class="rstatus done">Shipped</span></div>
252
253
  <h4>Gradient text renderer — the signature move</h4>
253
254
  <p>The brand <em>is</em> the cyan→violet→pink <code>--grad</code>. Interpolate it per-character across a string so headings, the <code>boost</code> wordmark and hero counts shimmer in the terminal exactly like the web hero. A pure-Python lerp over the three stops; falls back to a single accent color when truecolor is unavailable.</p>
@@ -255,7 +256,7 @@
255
256
  <div class="rref"><code>core/output.py · new gradient()</code></div>
256
257
  </article>
257
258
 
258
- <article class="ritem" data-track="color" data-impact="med">
259
+ <article class="ritem" id="BOOST-D04" data-track="color" data-impact="med">
259
260
  <div class="ritem-top"><span class="rid">BOOST-D04</span><span class="rstatus done">Shipped</span></div>
260
261
  <h4>Semantic color roles, not raw codes</h4>
261
262
  <p>Commands scattered <code>out.c(x, out.YELLOW)</code> and <code>out.GREEN</code> literally throughout the command layer, so a palette change meant a repo-wide sweep. Now a single <code>ROLES</code> table in <code>output.py</code> maps six named roles — <code>accent</code>, <code>brand</code>, <code>success</code>, <code>warn</code>, <code>danger</code>, <code>muted</code> — resolved through the Aurora palette (truecolor → 16-color → plain), and <code>out.role(text, name)</code> paints by intent. Every color call site across all eight command groups now reads as meaning, not mechanics; brand hues (accent/success/warn) upgraded from flat 16-color to on-theme truecolor in the process. Re-theming is a one-file edit.</p>
@@ -280,7 +281,7 @@
280
281
  <div class="rcards">
281
282
 
282
283
  <!-- ROADMAP:cards track=layout -->
283
- <article class="ritem" data-track="layout" data-impact="high">
284
+ <article class="ritem" id="BOOST-D05" data-track="layout" data-impact="high">
284
285
  <div class="ritem-top"><span class="rid">BOOST-D05</span><span class="rstatus done">Shipped</span></div>
285
286
  <h4>Fix <code>search</code>: truncate &amp; width-clamp results</h4>
286
287
  <p>Today <code>boost search</code> is the worst screen in the app: a single result can dump a <b>2,000-character description with literal, unrendered <code>\\n\\n</code> escapes</b>, while names are padded to a fixed 30 columns that waste half the row. Clamp each row to the live terminal width, collapse whitespace/escape artifacts, and ellipsize. This one fix turns a wall of noise into a scannable list.</p>
@@ -288,7 +289,7 @@
288
289
  <div class="rref"><code>commands/discovery.py · search</code></div>
289
290
  </article>
290
291
 
291
- <article class="ritem" data-track="layout" data-impact="med">
292
+ <article class="ritem" id="BOOST-D06" data-track="layout" data-impact="med">
292
293
  <div class="ritem-top"><span class="rid">BOOST-D06</span><span class="rstatus done">Shipped</span></div>
293
294
  <h4>Glass-panel box primitives</h4>
294
295
  <p>The web system frames everything in rounded glass; the CLI frames nothing. Add rounded box-drawing primitives (<code>╭─╮ │ ╰─╯</code>) with dim <code>--line</code> borders and an optional title, mirroring the web <code>.glass</code>/<code>.window</code> surfaces. Reusable chrome for <code>doctor</code>, <code>info</code>, <code>snapshot</code> and success summaries.</p>
@@ -296,7 +297,7 @@
296
297
  <div class="rref"><code>core/output.py · new panel()</code></div>
297
298
  </article>
298
299
 
299
- <article class="ritem" data-track="layout" data-impact="med">
300
+ <article class="ritem" id="BOOST-D07" data-track="layout" data-impact="med">
300
301
  <div class="ritem-top"><span class="rid">BOOST-D07</span><span class="rstatus done">Shipped</span></div>
301
302
  <h4>Relevance visualization in search</h4>
302
303
  <p>Results are "ranked by heuristic relevance" but the ranking is invisible — every row looks equal. Render a tiny gradient relevance bar or score glyph per hit and visually separate <b>curated</b> from GitHub-wide matches, so the eye lands on the best result first.</p>
@@ -304,7 +305,7 @@
304
305
  <div class="rref"><code>commands/discovery.py · search</code></div>
305
306
  </article>
306
307
 
307
- <article class="ritem" data-track="layout" data-impact="med">
308
+ <article class="ritem" id="BOOST-D08" data-track="layout" data-impact="med">
308
309
  <div class="ritem-top"><span class="rid">BOOST-D08</span><span class="rstatus done">Shipped</span></div>
309
310
  <h4>Width-aware, right-aligned tables</h4>
310
311
  <p><code>table()</code> is a naive <code>ljust</code> that ignores terminal width and left-aligns numeric columns. Make it width-aware (shrink the widest text column to fit), right-align counts with tabular figures, and add dim column separators — matching the web's <code>font-variant-numeric: tabular-nums</code> stat blocks.</p>
@@ -312,7 +313,7 @@
312
313
  <div class="rref"><code>core/output.py · table()</code></div>
313
314
  </article>
314
315
 
315
- <article class="ritem" data-track="layout" data-impact="med">
316
+ <article class="ritem" id="BOOST-D09" data-track="layout" data-impact="med">
316
317
  <div class="ritem-top"><span class="rid">BOOST-D09</span><span class="rstatus done">Shipped</span></div>
317
318
  <h4>Terminal-window chrome for <code>preview</code> / <code>cat</code></h4>
318
319
  <p>The web guide renders skills inside a titled window with traffic-light dots (<code>.window .dots</code>). Give <code>preview</code>/<code>cat</code> the same treatment: a titled frame with the skill name in the bar, so a rendered <code>SKILL.md</code> in the terminal matches the screenshots on the site.</p>
@@ -320,7 +321,7 @@
320
321
  <div class="rref"><code>commands/info.py · preview/cat</code></div>
321
322
  </article>
322
323
 
323
- <article class="ritem" data-track="layout" data-impact="high">
324
+ <article class="ritem" id="BOOST-D23" data-track="layout" data-impact="high">
324
325
  <div class="ritem-top"><span class="rid">BOOST-D23</span><span class="rstatus done">Shipped</span></div>
325
326
  <h4><code>trending</code> had the same overflow as <code>search</code></h4>
326
327
  <p>Grading the un-touched commands surfaced a sibling of D05: <code>boost trending</code> piped raw catalog descriptions straight into <code>table()</code>, so a single 300-char description blew the table across the pane. Fixed by clipping each description through <code>out.truncate()</code> to the width left after the name/installs/last columns — the same helper the search fix introduced.</p>
@@ -328,7 +329,7 @@
328
329
  <div class="rref"><code>commands/discovery.py · cmd_trending</code></div>
329
330
  </article>
330
331
 
331
- <article class="ritem" data-track="layout" data-impact="med">
332
+ <article class="ritem" id="BOOST-D24" data-track="layout" data-impact="med">
332
333
  <div class="ritem-top"><span class="rid">BOOST-D24</span><span class="rstatus done">Shipped</span></div>
333
334
  <h4>Width-aware shared <code>table()</code></h4>
334
335
  <p><code>out.table()</code> backs ~28 call sites, and several overflowed: <code>taps</code> padded the NAME column to the widest repo (<code>K-Dense-AI/claude-scientific-skills</code> = 44 cols) and then printed full URLs, so wide catalogs wrapped. Now <code>table()</code> is width-aware itself — when a row would exceed the terminal it shrinks the widest <b>text</b> column and clips its cells with an ellipsis (ANSI-aware, so colored cells keep their color and close cleanly), while <b>numeric</b> columns are right-aligned like tabular figures and never truncated. Narrow tables render byte-identical to before; the logic only engages on overflow or multi-row number columns. Delivered test-first: dedicated unit coverage for <code>_numeric_col</code>, <code>_clip_visible</code>, <code>_fit_widths</code>, and the integrated render keeps the mutation gate green.</p>
@@ -353,7 +354,7 @@
353
354
  <div class="rcards">
354
355
 
355
356
  <!-- ROADMAP:cards track=motion -->
356
- <article class="ritem" data-track="motion" data-impact="high">
357
+ <article class="ritem" id="BOOST-D10" data-track="motion" data-impact="high">
357
358
  <div class="ritem-top"><span class="rid">BOOST-D10</span><span class="rstatus done">Shipped</span></div>
358
359
  <h4>Braille spinner for network waits</h4>
359
360
  <p>Network-bound commands — <code>search</code> (AI rank), <code>tap</code> clone, <code>discover</code>, <code>index</code> — currently freeze silently while they work. Add a lightweight braille-dot spinner (<code>⠋⠙⠹⠸…</code>) tinted with the Aurora accent, auto-suppressed on non-TTY and under <code>NO_COLOR</code>. The single biggest "feels fast" upgrade.</p>
@@ -361,7 +362,7 @@
361
362
  <div class="rref"><code>core/output.py · new spinner()</code></div>
362
363
  </article>
363
364
 
364
- <article class="ritem" data-track="motion" data-impact="med">
365
+ <article class="ritem" id="BOOST-D11" data-track="motion" data-impact="med">
365
366
  <div class="ritem-top"><span class="rid">BOOST-D11</span><span class="rstatus done">Shipped</span></div>
366
367
  <h4>Determinate progress bars for batch ops</h4>
367
368
  <p>Multi-item commands — <code>reindex</code>, <code>update</code>, <code>sync</code>, <code>snapshot</code> restore — give no sense of "how far in." Add a gradient-filled progress bar (<code>N/total</code> + ETA) for anything looping over a known count, so long operations read as intentional rather than hung.</p>
@@ -369,7 +370,7 @@
369
370
  <div class="rref"><code>core/output.py · new progress()</code></div>
370
371
  </article>
371
372
 
372
- <article class="ritem" data-track="motion" data-impact="med">
373
+ <article class="ritem" id="BOOST-D12" data-track="motion" data-impact="med">
373
374
  <div class="ritem-top"><span class="rid">BOOST-D12</span><span class="rstatus proposed">Proposed</span></div>
374
375
  <h4>Stream search hits as they rank</h4>
375
376
  <p><code>search</code> computes the full ranking, then prints the whole list at once — the terminal sits blank, then floods. Stream the top hits as they're scored so the first result paints almost immediately. Perceived latency drops even when total time is unchanged.</p>
@@ -377,7 +378,7 @@
377
378
  <div class="rref"><code>commands/discovery.py · search</code></div>
378
379
  </article>
379
380
 
380
- <article class="ritem" data-track="motion" data-impact="low">
381
+ <article class="ritem" id="BOOST-D13" data-track="motion" data-impact="low">
381
382
  <div class="ritem-top"><span class="rid">BOOST-D13</span><span class="rstatus done">Shipped</span></div>
382
383
  <h4>Framed success summary with next step</h4>
383
384
  <p><code>ok()</code> prints a lone green check, then the command just ends. After <code>install</code>/<code>uninstall</code>, close with a small framed confirmation — what changed, where it landed, and the obvious next step (<code>boost info &lt;skill&gt;</code>) — so a completed action feels finished, not dropped.</p>
@@ -402,7 +403,7 @@
402
403
  <div class="rcards">
403
404
 
404
405
  <!-- ROADMAP:cards track=commands -->
405
- <article class="ritem" data-track="commands" data-impact="med">
406
+ <article class="ritem" id="BOOST-D14" data-track="commands" data-impact="med">
406
407
  <div class="ritem-top"><span class="rid">BOOST-D14</span><span class="rstatus done">Shipped</span></div>
407
408
  <h4>Front door: gradient wordmark + section glyphs</h4>
408
409
  <p>The <code>boost</code> home screen is the first thing everyone sees. Today the wordmark is plain bold and every group header is the same generic yellow. Paint the <code>boost</code> wordmark with the Aurora gradient and give each command group a colored bullet/glyph keyed to a brand hue — turning a flat list into a branded index.</p>
@@ -410,7 +411,7 @@
410
411
  <div class="rref"><code>commands/info.py · help renderer</code></div>
411
412
  </article>
412
413
 
413
- <article class="ritem" data-track="commands" data-impact="med">
414
+ <article class="ritem" id="BOOST-D15" data-track="commands" data-impact="med">
414
415
  <div class="ritem-top"><span class="rid">BOOST-D15</span><span class="rstatus done">Shipped</span></div>
415
416
  <h4><code>doctor</code> as a health dashboard</h4>
416
417
  <p><code>doctor</code> is an undifferentiated wall of green checks — no hierarchy, no headline. Reframe it as a panel with a verdict line (<code>● Healthy</code> in green / <code>● Attention</code> in amber), grouped checks, dim sub-detail, and severity color so a problem actually stands out instead of hiding among the ✓s.</p>
@@ -418,7 +419,7 @@
418
419
  <div class="rref"><code>commands/quality.py · doctor</code></div>
419
420
  </article>
420
421
 
421
- <article class="ritem" data-track="commands" data-impact="med">
422
+ <article class="ritem" id="BOOST-D16" data-track="commands" data-impact="med">
422
423
  <div class="ritem-top"><span class="rid">BOOST-D16</span><span class="rstatus done">Shipped</span></div>
423
424
  <h4><code>info</code> skill identity card</h4>
424
425
  <p><code>info</code> lists <code>kv()</code> pairs as flat dim labels. Promote it to a framed identity card: gradient skill name, status badges (<b>installed</b> / <b>pinned</b> / tap origin) styled like the web <code>.badge</code> pills, then the metadata — a real "detail view," not a key-value dump.</p>
@@ -426,7 +427,7 @@
426
427
  <div class="rref"><code>commands/info.py:177+</code></div>
427
428
  </article>
428
429
 
429
- <article class="ritem" data-track="commands" data-impact="low">
430
+ <article class="ritem" id="BOOST-D17" data-track="commands" data-impact="low">
430
431
  <div class="ritem-top"><span class="rid">BOOST-D17</span><span class="rstatus done">Shipped</span></div>
431
432
  <h4><code>list</code> polish — chips &amp; aligned counts</h4>
432
433
  <p><code>list</code> already uses a nice <code>·</code> agent separator; take it further. Color the agent names as small chips, right-align the count footer with tabular figures, and add a dim header rule so the table reads as a designed object rather than raw columns.</p>
@@ -434,7 +435,7 @@
434
435
  <div class="rref"><code>commands/info.py:130–131</code></div>
435
436
  </article>
436
437
 
437
- <article class="ritem" data-track="commands" data-impact="low">
438
+ <article class="ritem" id="BOOST-D18" data-track="commands" data-impact="low">
438
439
  <div class="ritem-top"><span class="rid">BOOST-D18</span><span class="rstatus done">Shipped</span></div>
439
440
  <h4>Consistent empty-states &amp; hint styling</h4>
440
441
  <p>Empty and hint lines are ad-hoc — <code>info</code>'s "no skills installed" hint is a hand-rolled <code>DIM</code> string. Standardize a single empty-state affordance (muted icon + one-line guidance + suggested command) and a single hint style, applied everywhere, so guidance always looks the same.</p>
@@ -442,7 +443,7 @@
442
443
  <div class="rref"><code>commands/info.py:117–119 · core/output.py</code></div>
443
444
  </article>
444
445
 
445
- <article class="ritem" data-track="commands" data-impact="med">
446
+ <article class="ritem" id="BOOST-D25" data-track="commands" data-impact="med">
446
447
  <div class="ritem-top"><span class="rid">BOOST-D25</span><span class="rstatus done">Shipped</span></div>
447
448
  <h4>Branded usage &amp; error output</h4>
448
449
  <p>Grading confirmed this hits <b>every command with a required argument</b> — <code>boost uninstall</code>, <code>boost snapshot</code> and more all dump raw, unstyled <code>argparse</code>: a multi-line usage block with a bare <code>error:</code>, nothing like the branded top-level dispatch (which already routes through <code>Error:</code> + a difflib "did you mean"). The durable fix is a shared <code>BoostArgumentParser</code> subclass whose <code>error()</code>/usage route through the Aurora output layer, adopted across the ~50 per-command parsers — a broad, test-first sweep, so logged rather than rushed.</p>
@@ -450,7 +451,7 @@
450
451
  <div class="rref"><code>cliparse.py (BoostArgumentParser) · all 10 command files</code></div>
451
452
  </article>
452
453
 
453
- <article class="ritem" data-track="commands" data-impact="high">
454
+ <article class="ritem" id="BOOST-D26" data-track="commands" data-impact="high">
454
455
  <div class="ritem-top"><span class="rid">BOOST-D26</span><span class="rstatus done">Shipped</span></div>
455
456
  <h4><code>browse</code> — Aurora the full-screen TUI</h4>
456
457
  <p>The interactive <code>browse</code> pane was the <b>last off-theme surface</b>: a curses screen drawn in raw <code>A_BOLD</code>/<code>A_DIM</code>/<code>A_REVERSE</code> — zero brand color while every other command spoke Aurora. Rebuilt it as a first-class TUI: a macOS <b>titlebar</b> (traffic-light dots + <code>boost browse</code> wordmark under a cyan→violet→pink gradient rule), an <code>❯</code> chevron prompt with a live <code>▏</code> caret, <b>fuzzy-match highlighting</b> (matched chars glow pink as you type), a cyan selection bar, yellow curated <code>★</code>, violet tap labels, a right-edge scrollbar, and a gradient-topped detail pane with <code>#tag</code> chips. Colors come from the single-source <code>out.TOKENS</code> via <code>init_color</code> — parity-locked to <code>style/boost.css</code> — and degrade truecolor → 8-color → monochrome. Stdlib only. With this, <b>every boost command is on-theme</b>.</p>
@@ -474,7 +475,7 @@
474
475
  <div class="rcards">
475
476
 
476
477
  <!-- ROADMAP:cards track=system -->
477
- <article class="ritem" data-track="system" data-impact="med">
478
+ <article class="ritem" id="BOOST-D19" data-track="system" data-impact="med">
478
479
  <div class="ritem-top"><span class="rid">BOOST-D19</span><span class="rstatus done">Shipped</span></div>
479
480
  <h4>Resolve theme drift: <code>style/</code> vs <code>docs/style/</code></h4>
480
481
  <p>Two copies of <code>boost.css</code> have <b>diverged</b>: the root <code>style/</code> uses a cyan→violet→pink gradient (<code>--violet #a855f7</code>), while <code>docs/style/</code> uses an orange→pink→violet one (<code>--violet #a78bfa</code>). Same brand, two looks. Pick <code>style/</code> as canonical and make <code>docs/style/</code> a generated copy or symlink so the portfolio, roadmaps and CLI can't drift again.</p>
@@ -482,7 +483,7 @@
482
483
  <div class="rref"><code>style/boost.css · docs/style/boost.css</code></div>
483
484
  </article>
484
485
 
485
- <article class="ritem" data-track="system" data-impact="med">
486
+ <article class="ritem" id="BOOST-D20" data-track="system" data-impact="med">
486
487
  <div class="ritem-top"><span class="rid">BOOST-D20</span><span class="rstatus done">Shipped</span></div>
487
488
  <h4>Single source of design tokens (web ↔ CLI)</h4>
488
489
  <p><b>Done:</b> the CLI palette is now single-sourced — one <code>output.TOKENS</code> dict holds every Aurora RGB triple, and the gradient, brand tints and badges all <em>derive</em> from it (previously cyan/violet/pink were re-typed across <code>_AURORA</code> and <code>_GRAD_STOPS</code>). A test locks the contract so a stray hex can't drift. <b>Remaining:</b> lift <code>TOKENS</code> into a shared <code>tokens.json</code> and generate <em>both</em> the CSS custom properties and this map from it, so the site and the terminal move in lockstep. <b>Shipped as enforcement instead of generation:</b> a unit test parses <code>style/boost.css</code> and asserts every <code>--token</code> matches <code>output.TOKENS</code>, so a hex changed in one place and not the other fails CI — the same guarantee without rewriting the hand-authored stylesheet.</p>
@@ -490,7 +491,7 @@
490
491
  <div class="rref"><code>core/output.py TOKENS · style/boost.css · future build_tokens.py</code></div>
491
492
  </article>
492
493
 
493
- <article class="ritem" data-track="system" data-impact="med">
494
+ <article class="ritem" id="BOOST-D21" data-track="system" data-impact="med">
494
495
  <div class="ritem-top"><span class="rid">BOOST-D21</span><span class="rstatus done">Shipped</span></div>
495
496
  <h4>Scripted demo recording (VHS / asciinema)</h4>
496
497
  <p>There's a <code>docs/demo.tape</code> + <code>demo.gif</code>, but no repeatable way to re-record once the aesthetic changes — and <code>tmux</code> isn't even installed in the dev box. Add a <code>make demo</code> that drives a scripted session (VHS tape or asciinema, optionally split-pane via tmux) and refreshes the GIF, so the README and portfolio always show the current look.</p>
@@ -498,7 +499,7 @@
498
499
  <div class="rref"><code>docs/demo.tape · Makefile</code></div>
499
500
  </article>
500
501
 
501
- <article class="ritem" data-track="system" data-impact="med">
502
+ <article class="ritem" id="BOOST-D22" data-track="system" data-impact="med">
502
503
  <div class="ritem-top"><span class="rid">BOOST-D22</span><span class="rstatus done">Shipped</span></div>
503
504
  <h4>README / portfolio terminal parity</h4>
504
505
  <p>The web <code>.window</code> mock shows an <em>idealized</em> boost session — gradient prompt, clean checks — that the real CLI doesn't yet produce. Once D01–D15 land, update the mock (and README code blocks) to mirror the true output 1:1, so every screenshot is honest and the brand reads identically across web, README and terminal.</p>
@@ -514,7 +515,7 @@
514
515
 
515
516
  </div>
516
517
 
517
- <p class="foot-note">
518
+ <p class="page-note">
518
519
  A living document — each loop iteration drives the real CLI, grades it against
519
520
  <code>style/boost.css</code>, and files what it finds here. Sibling to the
520
521
  <a href="./roadmap.html" style="color:var(--sky)">Engineering Roadmap</a>.
@@ -523,6 +524,28 @@
523
524
 
524
525
  </main>
525
526
 
527
+ <footer>
528
+ <div class="wrap">
529
+ <p class="foot-brand"><b>boost</b> — a package manager for AI coding skills</p>
530
+ <p class="foot-note">Install with <code>pip install boost-skill-cli</code> · requires Python 3.9+ and <code>git</code></p>
531
+ <nav class="foot-links" aria-label="Documentation">
532
+ <a href="index.html">Guide</a>
533
+ <a href="commands.html">Commands</a>
534
+ <a href="roadmap.html">Roadmap</a>
535
+ <a href="#top" aria-current="page">Design</a>
536
+ <a href="mcp-hub.html">MCP Hub</a>
537
+ <a href="eval.html">Evaluation</a>
538
+ <a href="adapters.html">Adapters</a>
539
+ </nav>
540
+ <p class="foot-legal">
541
+ <a href="https://github.com/jonnyeclectic/boost">GitHub</a> ·
542
+ <a href="https://pypi.org/project/boost-skill-cli/">PyPI</a> ·
543
+ <a href="https://jonnyeclectic.github.io/portfolio/">Portfolio</a> ·
544
+ Released under the GPL-3.0 license
545
+ </p>
546
+ </div>
547
+ </footer>
548
+
526
549
  <script>
527
550
  // Filter board by track + impact (mirrors roadmap.html behavior)
528
551
  var state = { track: "all", impact: "all" };
@@ -93,10 +93,6 @@
93
93
 
94
94
  .term-wrap { max-width: 820px; margin: 40px auto 0; }
95
95
 
96
- footer { margin-top: 96px; border-top: 1px solid var(--line-soft);
97
- padding: 36px 0 56px; text-align: center; }
98
- footer p { color: var(--text-3); font-size: 13px; }
99
- footer a { color: var(--sky); text-decoration: none; }
100
96
 
101
97
  /* narrow screens: the contract table scrolls inside itself instead of
102
98
  widening the document (caught by tests/visual/visual_check.mjs) */
@@ -109,7 +105,23 @@
109
105
  </head>
110
106
  <body>
111
107
 
112
- <main>
108
+ <header>
109
+ <div class="wrap site-nav">
110
+ <a class="logo" href="index.html"><b>boost</b><span>Evaluation</span></a>
111
+ <ul>
112
+ <li><a href="index.html">Guide</a></li>
113
+ <li><a href="commands.html">Commands</a></li>
114
+ <li><a href="roadmap.html">Roadmap</a></li>
115
+ <li><a href="design-roadmap.html">Design</a></li>
116
+ <li><a href="mcp-hub.html">MCP Hub</a></li>
117
+ <li><a href="#top" aria-current="page">Evaluation</a></li>
118
+ <li><a href="adapters.html">Adapters</a></li>
119
+ <li><a href="https://github.com/jonnyeclectic/boost">GitHub</a></li>
120
+ </ul>
121
+ </div>
122
+ </header>
123
+
124
+ <main id="top">
113
125
  <!-- ===== hero ===== -->
114
126
  <div class="wrap hero">
115
127
  <p class="crumbs"><a href="index.html">boost</a> / docs / evaluation system</p>
@@ -457,18 +469,31 @@
457
469
  </div>
458
470
  </section>
459
471
 
460
- <footer>
461
- <div class="wrap">
462
- <p>boost — a Homebrew for AI coding skills. ·
463
- <a href="index.html">Home</a> · <a href="mcp-hub.html">RAG &amp; the MCP hub</a> ·
464
- <a href="roadmap.html">Roadmap</a></p>
465
- <p style="margin-top:8px">Source: <code>scripts/eval_retrieval.py</code>,
466
- <code>scripts/eval_recommend.py</code>, <code>scripts/eval_explain.py</code>,
467
- <code>tests/eval/</code></p>
468
- </div>
469
- </footer>
470
472
  </main>
471
473
 
474
+ <footer>
475
+ <div class="wrap">
476
+ <p class="foot-brand"><b>boost</b> — a package manager for AI coding skills</p>
477
+ <p class="foot-note">Install with <code>pip install boost-skill-cli</code> · requires Python 3.9+ and <code>git</code></p>
478
+ <nav class="foot-links" aria-label="Documentation">
479
+ <a href="index.html">Guide</a>
480
+ <a href="commands.html">Commands</a>
481
+ <a href="roadmap.html">Roadmap</a>
482
+ <a href="design-roadmap.html">Design</a>
483
+ <a href="mcp-hub.html">MCP Hub</a>
484
+ <a href="#top" aria-current="page">Evaluation</a>
485
+ <a href="adapters.html">Adapters</a>
486
+ </nav>
487
+ <p class="foot-legal">
488
+ <a href="https://github.com/jonnyeclectic/boost">GitHub</a> ·
489
+ <a href="https://pypi.org/project/boost-skill-cli/">PyPI</a> ·
490
+ <a href="https://jonnyeclectic.github.io/portfolio/">Portfolio</a> ·
491
+ Released under the GPL-3.0 license
492
+ </p>
493
+ </div>
494
+ </footer>
495
+
496
+
472
497
  <script src="../style/boost.js" defer></script>
473
498
  </body>
474
499
  </html>