boost-skill-cli 1.0.87__tar.gz → 1.0.89__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.87 → boost_skill_cli-1.0.89}/PKG-INFO +3 -3
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/README.md +2 -2
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/pkg.py +5 -2
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/ai.py +2 -2
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/dense.py +1 -1
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/embed.py +2 -2
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_skill_cli.egg-info/PKG-INFO +3 -3
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_skill_cli.egg-info/SOURCES.txt +1 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +4 -4
- boost_skill_cli-1.0.89/docs/roadmap/items/workspace-scope-install.md +29 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap.html +28 -3
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/pyproject.toml +20 -2
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/.gitattributes +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/.gitignore +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/CLAUDE.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/LICENSE +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/MANIFEST.in +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/Makefile +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/index.html +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/index.html +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/setup.cfg +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/style/README.md +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/style/boost.css +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/style/boost.js +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/style/demo.html +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/tests/unit/test_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boost-skill-cli
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.89
|
|
4
4
|
Summary: boost — Homebrew for AI coding skills
|
|
5
5
|
Author: Jonathan Reyes
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -731,8 +731,8 @@ update all of them, you run one command.
|
|
|
731
731
|
boost is built in the open. Two living boards — generated from
|
|
732
732
|
`docs/roadmap/items/*.md` — track what's shipped, in flight, and planned:
|
|
733
733
|
|
|
734
|
-
- **[Code roadmap](https://jonnyeclectic.github.io/boost/roadmap.html)** — engine, correctness, and tooling work
|
|
735
|
-
- **[Design roadmap](https://jonnyeclectic.github.io/boost/design-roadmap.html)** — the Visual Guide and docsite aesthetics
|
|
734
|
+
- **[Code roadmap](https://jonnyeclectic.github.io/boost/docs/roadmap.html)** — engine, correctness, and tooling work
|
|
735
|
+
- **[Design roadmap](https://jonnyeclectic.github.io/boost/docs/design-roadmap.html)** — the Visual Guide and docsite aesthetics
|
|
736
736
|
|
|
737
737
|
Both are reachable from the [Visual Guide](https://jonnyeclectic.github.io/boost/) nav.
|
|
738
738
|
|
|
@@ -25,8 +25,8 @@ update all of them, you run one command.
|
|
|
25
25
|
boost is built in the open. Two living boards — generated from
|
|
26
26
|
`docs/roadmap/items/*.md` — track what's shipped, in flight, and planned:
|
|
27
27
|
|
|
28
|
-
- **[Code roadmap](https://jonnyeclectic.github.io/boost/roadmap.html)** — engine, correctness, and tooling work
|
|
29
|
-
- **[Design roadmap](https://jonnyeclectic.github.io/boost/design-roadmap.html)** — the Visual Guide and docsite aesthetics
|
|
28
|
+
- **[Code roadmap](https://jonnyeclectic.github.io/boost/docs/roadmap.html)** — engine, correctness, and tooling work
|
|
29
|
+
- **[Design roadmap](https://jonnyeclectic.github.io/boost/docs/design-roadmap.html)** — the Visual Guide and docsite aesthetics
|
|
30
30
|
|
|
31
31
|
Both are reachable from the [Visual Guide](https://jonnyeclectic.github.io/boost/) nav.
|
|
32
32
|
|
|
@@ -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.89'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 89)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -771,8 +771,11 @@ def _snapshot_restore(snap_id: str) -> int:
|
|
|
771
771
|
child.unlink()
|
|
772
772
|
try:
|
|
773
773
|
tf.extractall(str(root), members=members, filter="data")
|
|
774
|
-
except TypeError: # Python < 3.12
|
|
775
|
-
|
|
774
|
+
except TypeError: # Python < 3.12: no data filter available
|
|
775
|
+
# snapshots are archives boost itself produced under the user's own
|
|
776
|
+
# store (never fetched from a remote), so this legacy-interpreter
|
|
777
|
+
# fallback restores a locally-trusted tar.
|
|
778
|
+
tf.extractall(str(root), members=members) # noqa: S202
|
|
776
779
|
for action in store.sync_apply(store.sync_plan()):
|
|
777
780
|
out.ok(action)
|
|
778
781
|
journal.log("snapshot-restore", snap_id)
|
|
@@ -82,7 +82,7 @@ def _ask_api(prompt: str, system: Optional[str], model: str,
|
|
|
82
82
|
}
|
|
83
83
|
if system:
|
|
84
84
|
body["system"] = system
|
|
85
|
-
req = urllib.request.Request(
|
|
85
|
+
req = urllib.request.Request( # noqa: S310 API_URL is a hardcoded https endpoint
|
|
86
86
|
API_URL,
|
|
87
87
|
data=json.dumps(body).encode(),
|
|
88
88
|
headers={
|
|
@@ -93,7 +93,7 @@ def _ask_api(prompt: str, system: Optional[str], model: str,
|
|
|
93
93
|
method="POST",
|
|
94
94
|
)
|
|
95
95
|
try:
|
|
96
|
-
with urllib.request.urlopen(req, timeout=timeout) as resp:
|
|
96
|
+
with urllib.request.urlopen(req, timeout=timeout) as resp: # noqa: S310 fixed https endpoint
|
|
97
97
|
data = json.loads(resp.read().decode())
|
|
98
98
|
except (urllib.error.URLError, TimeoutError, json.JSONDecodeError, OSError):
|
|
99
99
|
return None
|
|
@@ -237,7 +237,7 @@ def retrieve(query: str, k: int = 60, kind: Optional[str] = None,
|
|
|
237
237
|
if not knn:
|
|
238
238
|
return []
|
|
239
239
|
by_id = {r[0]: (r[1], r[2], r[3], r[4]) for r in con.execute(
|
|
240
|
-
"SELECT id, name, tap, kind, snip FROM chunks WHERE id IN (%s)"
|
|
240
|
+
"SELECT id, name, tap, kind, snip FROM chunks WHERE id IN (%s)" # noqa: S608 interpolates only `?` placeholders; ids are bound params
|
|
241
241
|
% ",".join("?" * len(knn)), [rid for rid, _d in knn])}
|
|
242
242
|
finally:
|
|
243
243
|
con.close()
|
|
@@ -91,12 +91,12 @@ def embed(texts: List[str], input_type: Optional[str] = None,
|
|
|
91
91
|
|
|
92
92
|
def _post(url: str, key: str, payload: dict, timeout: int) -> Optional[dict]:
|
|
93
93
|
data = json.dumps(payload).encode("utf-8")
|
|
94
|
-
req = urllib.request.Request(url, data=data, headers={
|
|
94
|
+
req = urllib.request.Request(url, data=data, headers={ # noqa: S310 url is a hardcoded VOYAGE_URL/OPENAI_URL constant
|
|
95
95
|
"Authorization": "Bearer %s" % key,
|
|
96
96
|
"Content-Type": "application/json",
|
|
97
97
|
})
|
|
98
98
|
try:
|
|
99
|
-
with urllib.request.urlopen(req, timeout=timeout) as resp:
|
|
99
|
+
with urllib.request.urlopen(req, timeout=timeout) as resp: # noqa: S310 fixed https endpoint
|
|
100
100
|
return json.loads(resp.read())
|
|
101
101
|
except (urllib.error.URLError, OSError, ValueError):
|
|
102
102
|
return None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boost-skill-cli
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.89
|
|
4
4
|
Summary: boost — Homebrew for AI coding skills
|
|
5
5
|
Author: Jonathan Reyes
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -731,8 +731,8 @@ update all of them, you run one command.
|
|
|
731
731
|
boost is built in the open. Two living boards — generated from
|
|
732
732
|
`docs/roadmap/items/*.md` — track what's shipped, in flight, and planned:
|
|
733
733
|
|
|
734
|
-
- **[Code roadmap](https://jonnyeclectic.github.io/boost/roadmap.html)** — engine, correctness, and tooling work
|
|
735
|
-
- **[Design roadmap](https://jonnyeclectic.github.io/boost/design-roadmap.html)** — the Visual Guide and docsite aesthetics
|
|
734
|
+
- **[Code roadmap](https://jonnyeclectic.github.io/boost/docs/roadmap.html)** — engine, correctness, and tooling work
|
|
735
|
+
- **[Design roadmap](https://jonnyeclectic.github.io/boost/docs/design-roadmap.html)** — the Visual Guide and docsite aesthetics
|
|
736
736
|
|
|
737
737
|
Both are reachable from the [Visual Guide](https://jonnyeclectic.github.io/boost/) nav.
|
|
738
738
|
|
|
@@ -181,6 +181,7 @@ docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md
|
|
|
181
181
|
docs/roadmap/items/windows-in-the-ci-matrix.md
|
|
182
182
|
docs/roadmap/items/workflow-linting-actionlint.md
|
|
183
183
|
docs/roadmap/items/workflow-sast-zizmor.md
|
|
184
|
+
docs/roadmap/items/workspace-scope-install.md
|
|
184
185
|
scripts/build_registries.py
|
|
185
186
|
scripts/build_roadmap.py
|
|
186
187
|
scripts/mutation_gate.py
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: security-linting-bandit-via-ruff-s-rules
|
|
3
3
|
board: code
|
|
4
4
|
section: health
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: Security · Vuln
|
|
7
7
|
complexity: S
|
|
8
8
|
impact: High
|
|
9
9
|
wow: 3
|
|
10
|
-
note:
|
|
10
|
+
note: extend-select S; git/swallow rules ignored, real cases noqa'd
|
|
11
11
|
order: 1
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/bandit-s-rules
|
|
13
|
+
pr: 99
|
|
14
14
|
title: Security linting — <code>bandit</code> via ruff <code>S</code> rules
|
|
15
15
|
---
|
|
16
16
|
Turn on the <em>flake8-bandit</em> (<code>S</code>) rule family already
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: workspace-scope-install
|
|
3
|
+
board: code
|
|
4
|
+
section: internals
|
|
5
|
+
status: planned
|
|
6
|
+
category: Install engine · Scope
|
|
7
|
+
complexity: L
|
|
8
|
+
impact: High
|
|
9
|
+
wow: 4
|
|
10
|
+
note: --global vs --local, project .claude/
|
|
11
|
+
order: 22
|
|
12
|
+
owner:
|
|
13
|
+
pr:
|
|
14
|
+
title: Workspace scope — <code>boost install --local</code> into the project
|
|
15
|
+
---
|
|
16
|
+
boost is user-global only: the store is <code>~/.agents/skills</code> and every
|
|
17
|
+
install symlinks into home-level agent dirs (<code>~/.claude/skills</code>,
|
|
18
|
+
<code>~/.cursor/skills</code>, <code>~/.windsurf/skills</code>). There is
|
|
19
|
+
no per-project scope — <code>install</code> takes <code>--agent</code>
|
|
20
|
+
(which agents) but no <code>--global</code>/<code>--local</code>. Add a
|
|
21
|
+
workspace paradigm mirroring <code>npm</code> (local vs
|
|
22
|
+
<code>-g</code>): <code>boost install <skill> --local</code> writes
|
|
23
|
+
into the current repo's <code>.claude/skills/</code> (and the other
|
|
24
|
+
agents' project dirs), and — paired with rule install — merges a rule
|
|
25
|
+
into the project's <code>./CLAUDE.md</code> rather than the global one,
|
|
26
|
+
so a team can commit its skills and rules with the repo. Needs a
|
|
27
|
+
per-scope store/lock, scope resolution (walk up for the nearest
|
|
28
|
+
project root), and <code>list</code>/<code>sync</code>/<code>uninstall</code>
|
|
29
|
+
that understand both scopes.
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
<div class="stat"><b>10</b><span>Shipped</span></div>
|
|
119
119
|
<div class="stat"><b>3</b><span>Next up</span></div>
|
|
120
120
|
<div class="stat"><b>4</b><span>Planned</span></div>
|
|
121
|
-
<div class="stat"><b>
|
|
121
|
+
<div class="stat"><b>89</b><span>Loop finds</span></div>
|
|
122
122
|
<!-- /ROADMAP:stats -->
|
|
123
123
|
</div>
|
|
124
124
|
</section>
|
|
@@ -640,6 +640,31 @@
|
|
|
640
640
|
<span class="m">rules are indexed but never installed</span>
|
|
641
641
|
</div>
|
|
642
642
|
</article>
|
|
643
|
+
|
|
644
|
+
<article class="cap rcard">
|
|
645
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Install engine · Scope</span></div>
|
|
646
|
+
<h3>Workspace scope — <code>boost install --local</code> into the project</h3>
|
|
647
|
+
<p>boost is user-global only: the store is <code>~/.agents/skills</code> and every
|
|
648
|
+
install symlinks into home-level agent dirs (<code>~/.claude/skills</code>,
|
|
649
|
+
<code>~/.cursor/skills</code>, <code>~/.windsurf/skills</code>). There is
|
|
650
|
+
no per-project scope — <code>install</code> takes <code>--agent</code>
|
|
651
|
+
(which agents) but no <code>--global</code>/<code>--local</code>. Add a
|
|
652
|
+
workspace paradigm mirroring <code>npm</code> (local vs
|
|
653
|
+
<code>-g</code>): <code>boost install <skill> --local</code> writes
|
|
654
|
+
into the current repo's <code>.claude/skills/</code> (and the other
|
|
655
|
+
agents' project dirs), and — paired with rule install — merges a rule
|
|
656
|
+
into the project's <code>./CLAUDE.md</code> rather than the global one,
|
|
657
|
+
so a team can commit its skills and rules with the repo. Needs a
|
|
658
|
+
per-scope store/lock, scope resolution (walk up for the nearest
|
|
659
|
+
project root), and <code>list</code>/<code>sync</code>/<code>uninstall</code>
|
|
660
|
+
that understand both scopes.</p>
|
|
661
|
+
<div class="meta">
|
|
662
|
+
<span class="m">Complexity <b>L</b></span>
|
|
663
|
+
<span class="m hi">Impact <b>High</b></span>
|
|
664
|
+
<span class="m">Wow <b class="wow">★★★★</b></span>
|
|
665
|
+
<span class="m">--global vs --local, project .claude/</span>
|
|
666
|
+
</div>
|
|
667
|
+
</article>
|
|
643
668
|
<!-- /ROADMAP:cards -->
|
|
644
669
|
|
|
645
670
|
</div>
|
|
@@ -656,7 +681,7 @@
|
|
|
656
681
|
|
|
657
682
|
<!-- ROADMAP:cards section=health -->
|
|
658
683
|
<article class="cap rcard">
|
|
659
|
-
<div class="head"><span class="pill
|
|
684
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Security · Vuln</span></div>
|
|
660
685
|
<h3>Security linting — <code>bandit</code> via ruff <code>S</code> rules</h3>
|
|
661
686
|
<p>Turn on the <em>flake8-bandit</em> (<code>S</code>) rule family already
|
|
662
687
|
bundled in ruff — one line in <code>pyproject.toml</code>, zero new
|
|
@@ -669,7 +694,7 @@
|
|
|
669
694
|
<span class="m">Complexity <b>S</b></span>
|
|
670
695
|
<span class="m hi">Impact <b>High</b></span>
|
|
671
696
|
<span class="m">Wow <b class="wow">★★★</b></span>
|
|
672
|
-
<span class="m">
|
|
697
|
+
<span class="m">extend-select S; git/swallow rules ignored, real cases noqa'd</span>
|
|
673
698
|
</div>
|
|
674
699
|
</article>
|
|
675
700
|
|
|
@@ -59,9 +59,27 @@ boost_cli = ["data/*.json"]
|
|
|
59
59
|
[tool.ruff]
|
|
60
60
|
target-version = "py39"
|
|
61
61
|
|
|
62
|
+
[tool.ruff.lint]
|
|
63
|
+
# Turn on flake8-bandit (S) — Python SAST smells ruff's default E/F set is
|
|
64
|
+
# blind to: shell=True, assert-as-runtime-check, tempfile.mktemp, unsafe
|
|
65
|
+
# yaml.load, hardcoded secrets, weak hashing. Zero new tools.
|
|
66
|
+
extend-select = ["S"]
|
|
67
|
+
ignore = [
|
|
68
|
+
# boost is a CLI that shells out to git by design: every subprocess call
|
|
69
|
+
# passes an argument LIST (never a shell string) and resolves `git` via
|
|
70
|
+
# PATH on purpose, so these two fire only on safe, intentional code.
|
|
71
|
+
"S603", # subprocess-without-shell-equals-true (list form is not injectable)
|
|
72
|
+
"S607", # start-process-with-partial-path (`git` on PATH is deliberate)
|
|
73
|
+
# Best-effort cleanup/logging swallows are a pervasive, commented pattern
|
|
74
|
+
# (logger teardown, corrupt-lock preservation, the crash handler) where a
|
|
75
|
+
# raised exception would be worse than the one being swallowed.
|
|
76
|
+
"S110", # try-except-pass
|
|
77
|
+
]
|
|
78
|
+
|
|
62
79
|
[tool.ruff.lint.per-file-ignores]
|
|
63
|
-
# short throwaway names and lambda helpers are fine in tests
|
|
64
|
-
|
|
80
|
+
# short throwaway names and lambda helpers are fine in tests; asserts are the
|
|
81
|
+
# whole point of a test suite, and tests legitimately open fixture URLs.
|
|
82
|
+
"tests/*" = ["E741", "E731", "S101", "S310"]
|
|
65
83
|
|
|
66
84
|
[tool.codespell]
|
|
67
85
|
# Spell-check user-facing text (see `make lint`: boost_cli, docs, README).
|
|
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.87 → boost_skill_cli-1.0.89}/boost_skill_cli.egg-info/dependency_links.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/command-reference-docs-site.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
|
{boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/layering-guard-import-linter.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
|
{boost_skill_cli-1.0.87 → boost_skill_cli-1.0.89}/docs/roadmap/items/mcp-launch-objc-fork-safety.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|