boost-skill-cli 1.0.156__tar.gz → 1.0.158__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.
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/.gitignore +2 -2
- boost_skill_cli-1.0.158/.pre-commit-config.yaml +67 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/CONTRIBUTING.md +21 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/Makefile +2 -1
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/PKG-INFO +1 -1
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_skill_cli.egg-info/PKG-INFO +1 -1
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_skill_cli.egg-info/SOURCES.txt +1 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/layering-guard-import-linter.md +3 -3
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +3 -3
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap.html +2 -2
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/pyproject.toml +21 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/.gitattributes +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/CLAUDE.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/LICENSE +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/MANIFEST.in +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/README.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/adapters.html +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/eval.html +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/index.html +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/examples/README.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/index.html +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/scripts/eval_retrieval.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/setup.cfg +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/style/README.md +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/style/boost.css +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/style/boost.js +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/style/demo.html +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/tests/unit/test_workflows.py +0 -0
|
@@ -195,9 +195,9 @@ cython_debug/
|
|
|
195
195
|
.abstra/
|
|
196
196
|
|
|
197
197
|
# Visual Studio Code
|
|
198
|
-
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
|
|
198
|
+
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
|
|
199
199
|
# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
|
|
200
|
-
# and can be added to the global gitignore or merged into this file. However, if you prefer,
|
|
200
|
+
# and can be added to the global gitignore or merged into this file. However, if you prefer,
|
|
201
201
|
# you could uncomment the following to ignore the entire vscode folder
|
|
202
202
|
# .vscode/
|
|
203
203
|
# Temporary file for partial code execution
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Shift-left the `make lint` gate to *before* the commit, so ruff / mypy /
|
|
2
|
+
# codespell / whitespace fixes land locally instead of failing in CI.
|
|
3
|
+
#
|
|
4
|
+
# pip install pre-commit && pre-commit install # once — hooks then run on `git commit`
|
|
5
|
+
# pre-commit run --all-files # run everything right now
|
|
6
|
+
#
|
|
7
|
+
# pre-commit.ci (free for open source) runs these on every PR and pushes the
|
|
8
|
+
# auto-fixes back onto the branch — see the `ci:` block. Versions below are
|
|
9
|
+
# pinned to match the tools `make lint` runs; bump them together.
|
|
10
|
+
ci:
|
|
11
|
+
autofix_prs: true
|
|
12
|
+
autoupdate_schedule: monthly
|
|
13
|
+
# mypy is a `repo: local` hook that needs the project's venv — pre-commit.ci
|
|
14
|
+
# builds isolated hook envs and can't provide it, so `make lint` / CI own it.
|
|
15
|
+
skip: [mypy]
|
|
16
|
+
|
|
17
|
+
minimum_pre_commit_version: "3.5.0"
|
|
18
|
+
|
|
19
|
+
repos:
|
|
20
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
21
|
+
rev: v6.0.0
|
|
22
|
+
hooks:
|
|
23
|
+
# Whitespace fixers skip the generated boards (build_roadmap.py owns their
|
|
24
|
+
# bytes — a drift check would fight this hook), the loop-edited roadmap
|
|
25
|
+
# item data (many parallel branches touch these; a whitespace churn there
|
|
26
|
+
# means needless merge conflicts) and IDE files under .idea/.
|
|
27
|
+
- id: trailing-whitespace
|
|
28
|
+
exclude: &data_and_generated '^(docs/(roadmap|design-roadmap)\.html$|docs/roadmap/items/|\.idea/)'
|
|
29
|
+
- id: end-of-file-fixer
|
|
30
|
+
exclude: *data_and_generated
|
|
31
|
+
- id: mixed-line-ending
|
|
32
|
+
args: [--fix=lf]
|
|
33
|
+
exclude: *data_and_generated
|
|
34
|
+
- id: check-merge-conflict
|
|
35
|
+
- id: check-yaml
|
|
36
|
+
- id: check-toml
|
|
37
|
+
- id: check-added-large-files
|
|
38
|
+
|
|
39
|
+
# Ruff — pinned to the version in `make lint`; reads the same [tool.ruff]
|
|
40
|
+
# config from pyproject.toml and is scoped to the gate's paths.
|
|
41
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
42
|
+
rev: v0.15.22
|
|
43
|
+
hooks:
|
|
44
|
+
- id: ruff
|
|
45
|
+
args: [--fix]
|
|
46
|
+
files: ^(boost_cli|tests)/.*\.py$
|
|
47
|
+
|
|
48
|
+
# codespell — same version and [tool.codespell] config (skip / ignore lists)
|
|
49
|
+
# as `make lint`, scoped to the same targets: boost_cli, docs, README.
|
|
50
|
+
- repo: https://github.com/codespell-project/codespell
|
|
51
|
+
rev: v2.4.3
|
|
52
|
+
hooks:
|
|
53
|
+
- id: codespell
|
|
54
|
+
additional_dependencies: [tomli]
|
|
55
|
+
files: ^(boost_cli/|docs/|README\.md)
|
|
56
|
+
|
|
57
|
+
# mypy — run from the project venv so it matches `make lint` exactly
|
|
58
|
+
# (config drives it: files = ["boost_cli"]). Local so stdlib/editable
|
|
59
|
+
# resolution is identical; skipped on pre-commit.ci (see `ci.skip`).
|
|
60
|
+
- repo: local
|
|
61
|
+
hooks:
|
|
62
|
+
- id: mypy
|
|
63
|
+
name: mypy (boost_cli)
|
|
64
|
+
entry: mypy
|
|
65
|
+
language: system
|
|
66
|
+
pass_filenames: false
|
|
67
|
+
types: [python]
|
|
@@ -13,6 +13,21 @@ make venv # pytest, coverage, mutmut, ruff, mypy — runtime stays stdl
|
|
|
13
13
|
Every test runs against a throwaway `$HOME`, so nothing touches your real
|
|
14
14
|
agent configs.
|
|
15
15
|
|
|
16
|
+
### Pre-commit hooks (recommended)
|
|
17
|
+
|
|
18
|
+
Catch the `make lint` findings *before* they reach CI:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
pip install pre-commit && pre-commit install # once
|
|
22
|
+
pre-commit run --all-files # or run everything now
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
`git commit` then runs ruff, mypy, codespell and the whitespace fixers on your
|
|
26
|
+
staged files. The hooks in [`.pre-commit-config.yaml`](.pre-commit-config.yaml)
|
|
27
|
+
are pinned to the same tool versions the lint gate uses, and
|
|
28
|
+
[pre-commit.ci](https://pre-commit.ci) runs them on every PR and pushes any
|
|
29
|
+
auto-fixes straight back onto the branch.
|
|
30
|
+
|
|
16
31
|
## The gates (CI runs all of these)
|
|
17
32
|
|
|
18
33
|
| Command | Gate |
|
|
@@ -22,12 +37,18 @@ agent configs.
|
|
|
22
37
|
| `make mutation` | mutmut over `boost_cli/core`, **≥80% mutants killed** |
|
|
23
38
|
| `ruff check boost_cli tests` | lint, zero findings |
|
|
24
39
|
| `mypy` | type check, zero errors |
|
|
40
|
+
| `lint-imports` | layering: `core/` imports no `commands/`/`cli`; CLI depends inward |
|
|
25
41
|
|
|
26
42
|
## Ground rules
|
|
27
43
|
|
|
28
44
|
- **Stdlib only** at runtime. No third-party imports in `boost_cli/`.
|
|
29
45
|
- New commands live in `boost_cli/commands/<group>.py` as
|
|
30
46
|
`def cmd_<name>(argv) -> int` and are dispatched lazily from `cli.py`.
|
|
47
|
+
- **Respect the layers** (`cli → commands → core`): `core/` is the engine and
|
|
48
|
+
must import neither `commands/` nor `cli`; `commands/` must not reach up into
|
|
49
|
+
`cli`. `import-linter` enforces this — see `[tool.importlinter]` in
|
|
50
|
+
`pyproject.toml` (the one allowlisted edge is `completions` reading the
|
|
51
|
+
`COMMANDS` registry).
|
|
31
52
|
- Behavior changes need tests — functional tests drive the CLI in-process via
|
|
32
53
|
`boost_cli.cli.main` (see `tests/conftest.py` for the fixtures).
|
|
33
54
|
- Anything under `boost_cli/core/` is mutation-tested; expect to add unit
|
|
@@ -14,7 +14,7 @@ EVAL_HOME := $(CURDIR)/.eval-home
|
|
|
14
14
|
|
|
15
15
|
venv:
|
|
16
16
|
python3 -m venv $(VENV)
|
|
17
|
-
$(VENV)/bin/pip -q install pytest pytest-cov coverage mutmut ruff mypy codespell hypothesis
|
|
17
|
+
$(VENV)/bin/pip -q install pytest pytest-cov coverage mutmut ruff mypy codespell hypothesis import-linter
|
|
18
18
|
|
|
19
19
|
unit:
|
|
20
20
|
$(PYTEST) tests/unit -q
|
|
@@ -39,6 +39,7 @@ mutation:
|
|
|
39
39
|
lint:
|
|
40
40
|
$(VENV)/bin/ruff check boost_cli tests
|
|
41
41
|
$(VENV)/bin/mypy
|
|
42
|
+
$(VENV)/bin/lint-imports
|
|
42
43
|
$(VENV)/bin/codespell boost_cli docs README.md
|
|
43
44
|
@command -v actionlint >/dev/null 2>&1 && actionlint || echo "actionlint not on PATH — skipping (CI enforces it)"
|
|
44
45
|
$(PY) scripts/build_registries.py --check
|
|
@@ -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.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 0,
|
|
21
|
+
__version__ = version = '1.0.158'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 158)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: layering-guard-import-linter
|
|
3
3
|
board: code
|
|
4
4
|
section: dx
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: Quality · Architecture
|
|
7
7
|
complexity: M
|
|
8
8
|
impact: Med
|
|
9
9
|
wow: 4
|
|
10
10
|
note: core/ ↛ commands/
|
|
11
11
|
order: 3
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/layering
|
|
13
|
+
pr: 182
|
|
14
14
|
title: Layering guard — <code>import-linter</code>
|
|
15
15
|
---
|
|
16
16
|
Enforce the architecture boost already assumes: <code>core/</code> must
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: shift-left-gate-pre-commit-pre-commit-ci
|
|
3
3
|
board: code
|
|
4
4
|
section: dx
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: DX · Infra
|
|
7
7
|
complexity: S
|
|
8
8
|
impact: High
|
|
9
9
|
wow: 4
|
|
10
10
|
note: auto-fix PRs
|
|
11
11
|
order: 2
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/pre-commit
|
|
13
|
+
pr: 181
|
|
14
14
|
title: Shift-left gate — <code>pre-commit</code> + pre-commit.ci
|
|
15
15
|
---
|
|
16
16
|
A <code>.pre-commit-config.yaml</code> runs ruff, mypy, codespell and the
|
|
@@ -1325,7 +1325,7 @@ improvement is real (or isn't)."</p>
|
|
|
1325
1325
|
</article>
|
|
1326
1326
|
|
|
1327
1327
|
<article class="cap rcard">
|
|
1328
|
-
<div class="head"><span class="pill
|
|
1328
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">DX · Infra</span></div>
|
|
1329
1329
|
<h3>Shift-left gate — <code>pre-commit</code> + pre-commit.ci</h3>
|
|
1330
1330
|
<p>A <code>.pre-commit-config.yaml</code> runs ruff, mypy, codespell and the
|
|
1331
1331
|
whitespace fixers <em>before</em> code ever reaches CI, and the free-for-OSS
|
|
@@ -1341,7 +1341,7 @@ improvement is real (or isn't)."</p>
|
|
|
1341
1341
|
</article>
|
|
1342
1342
|
|
|
1343
1343
|
<article class="cap rcard">
|
|
1344
|
-
<div class="head"><span class="pill
|
|
1344
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Quality · Architecture</span></div>
|
|
1345
1345
|
<h3>Layering guard — <code>import-linter</code></h3>
|
|
1346
1346
|
<p>Enforce the architecture boost already assumes: <code>core/</code> must
|
|
1347
1347
|
never import <code>commands/</code>, and the CLI depends inward only.
|
|
@@ -155,3 +155,24 @@ exclude_lines = [
|
|
|
155
155
|
"if TYPE_CHECKING:",
|
|
156
156
|
"raise NotImplementedError",
|
|
157
157
|
]
|
|
158
|
+
|
|
159
|
+
# import-linter: turn boost's assumed layering into an enforced contract, so a
|
|
160
|
+
# cross-layer import can't silently erode the engine. Run by `make lint`
|
|
161
|
+
# (lint-imports) and the CI lint job. Dev/CI-only — never imported at runtime.
|
|
162
|
+
[tool.importlinter]
|
|
163
|
+
root_package = "boost_cli"
|
|
164
|
+
|
|
165
|
+
[[tool.importlinter.contracts]]
|
|
166
|
+
name = "boost_cli is layered: cli -> commands -> core"
|
|
167
|
+
type = "layers"
|
|
168
|
+
# Higher layers may import lower ones, never the reverse: core/ (the engine)
|
|
169
|
+
# must import neither commands/ nor the CLI, and commands/ must not reach up
|
|
170
|
+
# into cli. This is the structural rule CLAUDE.md documents — core is the
|
|
171
|
+
# mutation-tested engine, commands/ is thin glue on top of it.
|
|
172
|
+
layers = ["cli", "commands", "core"]
|
|
173
|
+
containers = ["boost_cli"]
|
|
174
|
+
# The one intentional upward edge: `boost completions` reads COMMANDS — the
|
|
175
|
+
# command registry, which lives in cli.py by design (see CLAUDE.md) — to list
|
|
176
|
+
# every command. That single metadata lookup is allowlisted; any other
|
|
177
|
+
# commands -> cli import is still a violation.
|
|
178
|
+
ignore_imports = ["boost_cli.commands.configuration -> boost_cli.cli"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_skill_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/boost_skill_cli.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.156 → boost_skill_cli-1.0.158}/docs/roadmap/items/boost-run-live-agents.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|