boost-skill-cli 1.0.159__tar.gz → 1.0.161__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.159 → boost_skill_cli-1.0.161}/CONTRIBUTING.md +16 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/PKG-INFO +1 -1
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_skill_cli.egg-info/PKG-INFO +1 -1
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_skill_cli.egg-info/SOURCES.txt +1 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/one-command-every-env-nox.md +3 -3
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap.html +1 -1
- boost_skill_cli-1.0.161/noxfile.py +69 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/.gitattributes +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/.gitignore +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/.pre-commit-config.yaml +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/CLAUDE.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/LICENSE +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/MANIFEST.in +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/Makefile +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/README.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/adapters.html +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/eval.html +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/index.html +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/examples/README.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/index.html +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/pyproject.toml +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/scripts/eval_retrieval.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/setup.cfg +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/style/README.md +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/style/boost.css +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/style/boost.js +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/style/demo.html +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/tests/unit/test_workflows.py +0 -0
|
@@ -13,6 +13,22 @@ 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
|
+
### Reproduce the whole gate — `nox`
|
|
17
|
+
|
|
18
|
+
[`noxfile.py`](noxfile.py) runs the exact gate the CI jobs run, in isolated
|
|
19
|
+
venvs, across the supported interpreters:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pipx install nox # or: pip install nox
|
|
23
|
+
nox # lint + tests on every installed interpreter
|
|
24
|
+
nox -s lint # one session
|
|
25
|
+
nox -s "tests-3.12" # tests on a single interpreter
|
|
26
|
+
nox -s smoke -s mutation
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Each session installs the same tools and runs the same commands as `make` and
|
|
30
|
+
CI, so "green on my machine" and "green in CI" mean the same thing.
|
|
31
|
+
|
|
16
32
|
### Pre-commit hooks (recommended)
|
|
17
33
|
|
|
18
34
|
Catch the `make lint` findings *before* they reach CI:
|
|
@@ -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.161'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 161)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
{boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/one-command-every-env-nox.md
RENAMED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: one-command-every-env-nox
|
|
3
3
|
board: code
|
|
4
4
|
section: compat
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: Testing · Infra
|
|
7
7
|
complexity: S
|
|
8
8
|
impact: Med
|
|
9
9
|
wow: 2
|
|
10
10
|
note: local == CI
|
|
11
11
|
order: 8
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/nox
|
|
13
|
+
pr: 184
|
|
14
14
|
title: One command, every env — <code>nox</code>
|
|
15
15
|
---
|
|
16
16
|
A <code>noxfile.py</code> makes the full lint / test / smoke / mutation
|
|
@@ -1834,7 +1834,7 @@ and the work stays visible.</p>
|
|
|
1834
1834
|
</article>
|
|
1835
1835
|
|
|
1836
1836
|
<article class="cap rcard">
|
|
1837
|
-
<div class="head"><span class="pill
|
|
1837
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Testing · Infra</span></div>
|
|
1838
1838
|
<h3>One command, every env — <code>nox</code></h3>
|
|
1839
1839
|
<p>A <code>noxfile.py</code> makes the full lint / test / smoke / mutation
|
|
1840
1840
|
gate reproducible across 3.9 → 3.14 in isolated environments,
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"""One command, every env: run boost's quality gate in isolated venvs.
|
|
2
|
+
|
|
3
|
+
`nox` runs the default gate (lint + tests); `nox -s <session>` runs one; and
|
|
4
|
+
the multi-version `tests` session fans out across the supported interpreters:
|
|
5
|
+
|
|
6
|
+
nox # lint + tests across every installed interpreter
|
|
7
|
+
nox -s lint # ruff / mypy / import-linter / codespell + drift checks
|
|
8
|
+
nox -s tests # unit + functional on 3.9, 3.12, 3.14 (skips absent ones)
|
|
9
|
+
nox -s "tests-3.12" # just one interpreter
|
|
10
|
+
nox -s smoke -s mutation
|
|
11
|
+
|
|
12
|
+
Each session installs the SAME tools and runs the SAME commands as `make` and
|
|
13
|
+
the CI jobs, so "green on my machine" and "green in CI" finally mean the same
|
|
14
|
+
thing — a contributor can reproduce the exact gate before pushing. nox itself
|
|
15
|
+
is the only thing to install first: `pipx install nox` (or `pip install nox`).
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
import nox
|
|
19
|
+
|
|
20
|
+
# Match the CI matrix and the >=3.9 floor in pyproject.toml.
|
|
21
|
+
PYTHONS = ["3.9", "3.12", "3.14"]
|
|
22
|
+
|
|
23
|
+
# `nox` with no -s runs these; the rest are opt-in.
|
|
24
|
+
nox.options.sessions = ["lint", "tests"]
|
|
25
|
+
# Reuse venvs between runs for speed; a contributor rarely wants a cold rebuild.
|
|
26
|
+
nox.options.reuse_existing_virtualenvs = True
|
|
27
|
+
# Local machines rarely have all of 3.9/3.12/3.14 — skip the missing ones
|
|
28
|
+
# instead of erroring, so `nox` is useful with a single interpreter too.
|
|
29
|
+
nox.options.error_on_missing_interpreters = False
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@nox.session
|
|
33
|
+
def lint(session: nox.Session) -> None:
|
|
34
|
+
"""ruff + mypy + import-linter + codespell + the generated-file drift checks."""
|
|
35
|
+
session.install("ruff", "mypy", "codespell", "import-linter")
|
|
36
|
+
session.install("-e", ".")
|
|
37
|
+
session.run("ruff", "check", "boost_cli", "tests")
|
|
38
|
+
session.run("mypy")
|
|
39
|
+
session.run("lint-imports")
|
|
40
|
+
session.run("codespell", "boost_cli", "docs", "README.md")
|
|
41
|
+
session.run("python", "scripts/build_registries.py", "--check")
|
|
42
|
+
session.run("python", "scripts/build_roadmap.py", "--check")
|
|
43
|
+
session.run("python", "scripts/import_budget.py")
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
@nox.session(python=PYTHONS)
|
|
47
|
+
def tests(session: nox.Session) -> None:
|
|
48
|
+
"""Unit + functional suites with the 80% line-coverage gate."""
|
|
49
|
+
session.install("pytest", "pytest-cov", "coverage", "hypothesis")
|
|
50
|
+
session.install("-e", ".")
|
|
51
|
+
session.run(
|
|
52
|
+
"pytest", "tests/unit", "tests/functional",
|
|
53
|
+
"--cov=boost_cli", "--cov-report=term-missing", "-q",
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
@nox.session
|
|
58
|
+
def smoke(session: nox.Session) -> None:
|
|
59
|
+
"""The shell-level smoke suite through the real ./boost shim."""
|
|
60
|
+
session.install("-e", ".")
|
|
61
|
+
session.run("bash", "tests/smoke.sh", external=True)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
@nox.session
|
|
65
|
+
def mutation(session: nox.Session) -> None:
|
|
66
|
+
"""Mutation testing over boost_cli/core with the 80% kill gate."""
|
|
67
|
+
session.install("mutmut", "pytest", "pytest-cov", "coverage", "hypothesis")
|
|
68
|
+
session.install("-e", ".")
|
|
69
|
+
session.run("python", "scripts/mutation_gate.py", "--run", "--min", "80")
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/boost_skill_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{boost_skill_cli-1.0.159 → boost_skill_cli-1.0.161}/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.159 → boost_skill_cli-1.0.161}/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
|
|
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.159 → boost_skill_cli-1.0.161}/docs/roadmap/items/list-rules-and-workflows.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
|