boost-skill-cli 1.0.72__tar.gz → 1.0.73__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.72 → boost_skill_cli-1.0.73}/PKG-INFO +1 -1
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/gitutil.py +13 -1
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_skill_cli.egg-info/PKG-INFO +1 -1
- boost_skill_cli-1.0.73/docs/roadmap/items/end-of-options-guard-on-git-commands.md +26 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap.html +23 -12
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_gitutil.py +27 -1
- boost_skill_cli-1.0.72/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -16
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/.gitattributes +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/.gitignore +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/CLAUDE.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/LICENSE +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/MANIFEST.in +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/Makefile +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/README.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/index.html +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/index.html +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/pyproject.toml +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/setup.cfg +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/style/README.md +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/style/boost.css +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/style/boost.js +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/style/demo.html +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/unit/test_version.py +0 -0
|
@@ -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.73'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 73)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -31,9 +31,21 @@ def run(args: List[str], cwd: Optional[Path] = None, check: bool = True,
|
|
|
31
31
|
return proc
|
|
32
32
|
|
|
33
33
|
|
|
34
|
+
# git's remote-helper transports run arbitrary commands straight from the URL
|
|
35
|
+
# (notably `ext::sh -c …`), so refuse them outright — boost only ever clones
|
|
36
|
+
# real http(s)/ssh/git remotes.
|
|
37
|
+
_UNSAFE_TRANSPORTS = ("ext::", "file::", "fd::")
|
|
38
|
+
|
|
39
|
+
|
|
34
40
|
def clone_shallow(url: str, dest: Path) -> None:
|
|
41
|
+
if url.lstrip().lower().startswith(_UNSAFE_TRANSPORTS):
|
|
42
|
+
raise BoostError(
|
|
43
|
+
"refusing to clone via unsafe git transport: %s" % url,
|
|
44
|
+
hint="use an https://, ssh://, or git@ remote")
|
|
35
45
|
dest.parent.mkdir(parents=True, exist_ok=True)
|
|
36
|
-
|
|
46
|
+
# `--` ends option parsing so a URL beginning with `-` cannot be read as a
|
|
47
|
+
# git flag — argument-injection defense-in-depth beside registry.parse_spec.
|
|
48
|
+
run(["clone", "--depth", "1", "--quiet", "--", url, str(dest)], timeout=600)
|
|
37
49
|
|
|
38
50
|
|
|
39
51
|
def pull(repo: Path) -> str:
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: end-of-options-guard-on-git-commands
|
|
3
|
+
board: code
|
|
4
|
+
section: shipped
|
|
5
|
+
status: shipped
|
|
6
|
+
category: Security
|
|
7
|
+
complexity: S
|
|
8
|
+
impact: Med
|
|
9
|
+
wow: 3
|
|
10
|
+
note: transport allow-list + -- guard
|
|
11
|
+
order: 8
|
|
12
|
+
owner: loop/gitutil-transport-guard
|
|
13
|
+
pr:
|
|
14
|
+
title: End-of-options <code>--</code> guard on git commands
|
|
15
|
+
---
|
|
16
|
+
<code>clone_shallow</code> passed the clone URL as a positional with no
|
|
17
|
+
<code>--</code> separator, so a value beginning with <code>-</code>
|
|
18
|
+
could be read as a git flag, and git's remote-helper transports
|
|
19
|
+
(<code>ext::sh -c …</code>, <code>file::</code>, <code>fd::</code>)
|
|
20
|
+
can execute arbitrary commands straight from a URL. Now it refuses
|
|
21
|
+
those transports outright and passes <code>--</code> before the URL
|
|
22
|
+
so option parsing can't be hijacked — argument-injection
|
|
23
|
+
defense-in-depth beside <code>registry.parse_spec</code>. Kept scoped
|
|
24
|
+
to the one primitive that takes a user-influenced URL (the refs in
|
|
25
|
+
<code>pull</code>/<code>reset</code> are constants, and <code>--</code>
|
|
26
|
+
there would wrongly mean a pathspec). Six tests, mutation-verified.
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
<section class="block reveal">
|
|
116
116
|
<div class="stats">
|
|
117
117
|
<!-- ROADMAP:stats -->
|
|
118
|
-
<div class="stat"><b>
|
|
118
|
+
<div class="stat"><b>8</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
121
|
<div class="stat"><b>83</b><span>Loop finds</span></div>
|
|
@@ -248,6 +248,28 @@
|
|
|
248
248
|
<span class="m">broken headline command, now works</span>
|
|
249
249
|
</div>
|
|
250
250
|
</article>
|
|
251
|
+
|
|
252
|
+
<article class="cap rcard">
|
|
253
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Security</span></div>
|
|
254
|
+
<h3>End-of-options <code>--</code> guard on git commands</h3>
|
|
255
|
+
<p><code>clone_shallow</code> passed the clone URL as a positional with no
|
|
256
|
+
<code>--</code> separator, so a value beginning with <code>-</code>
|
|
257
|
+
could be read as a git flag, and git's remote-helper transports
|
|
258
|
+
(<code>ext::sh -c …</code>, <code>file::</code>, <code>fd::</code>)
|
|
259
|
+
can execute arbitrary commands straight from a URL. Now it refuses
|
|
260
|
+
those transports outright and passes <code>--</code> before the URL
|
|
261
|
+
so option parsing can't be hijacked — argument-injection
|
|
262
|
+
defense-in-depth beside <code>registry.parse_spec</code>. Kept scoped
|
|
263
|
+
to the one primitive that takes a user-influenced URL (the refs in
|
|
264
|
+
<code>pull</code>/<code>reset</code> are constants, and <code>--</code>
|
|
265
|
+
there would wrongly mean a pathspec). Six tests, mutation-verified.</p>
|
|
266
|
+
<div class="meta">
|
|
267
|
+
<span class="m">Complexity <b>S</b></span>
|
|
268
|
+
<span class="m">Impact <b>Med</b></span>
|
|
269
|
+
<span class="m">Wow <b class="wow">★★★</b></span>
|
|
270
|
+
<span class="m">transport allow-list + -- guard</span>
|
|
271
|
+
</div>
|
|
272
|
+
</article>
|
|
251
273
|
<!-- /ROADMAP:cards -->
|
|
252
274
|
|
|
253
275
|
</div>
|
|
@@ -431,17 +453,6 @@
|
|
|
431
453
|
</div>
|
|
432
454
|
</article>
|
|
433
455
|
|
|
434
|
-
<article class="cap rcard">
|
|
435
|
-
<div class="head"><span class="pill next">Next</span><span class="cat">Security</span></div>
|
|
436
|
-
<h3>End-of-options <code>--</code> guard on git commands</h3>
|
|
437
|
-
<p><code>clone_shallow</code>/<code>fetch</code>/<code>reset</code> pass the URL & ref as positionals with no <code>--</code> separator (<code>core/gitutil.py:34–46</code>), so a value starting with <code>-</code> is parsed as a git option. <code>parse_spec</code> constrains most URL shapes, but adding <code>--</code> before positionals and rejecting <code>ext::</code>/<code>file::</code>/<code>fd::</code> transports closes the argument-injection surface as defense-in-depth.</p>
|
|
438
|
-
<div class="meta">
|
|
439
|
-
<span class="m">Complexity <b>S</b></span>
|
|
440
|
-
<span class="m">Impact <b>Med</b></span>
|
|
441
|
-
<span class="m">Wow <b class="wow">★★★</b></span>
|
|
442
|
-
</div>
|
|
443
|
-
</article>
|
|
444
|
-
|
|
445
456
|
<article class="cap rcard">
|
|
446
457
|
<div class="head"><span class="pill planned">Planned</span><span class="cat">Robustness</span></div>
|
|
447
458
|
<h3>Atomic skill install (temp-dir swap)</h3>
|
|
@@ -145,10 +145,36 @@ class TestCloneAndInspect:
|
|
|
145
145
|
calls = _record_run(monkeypatch)
|
|
146
146
|
gitutil.clone_shallow("git@example:x.git", tmp_path / "d")
|
|
147
147
|
(args, kw), = calls
|
|
148
|
-
assert args == ["clone", "--depth", "1", "--quiet",
|
|
148
|
+
assert args == ["clone", "--depth", "1", "--quiet", "--",
|
|
149
149
|
"git@example:x.git", str(tmp_path / "d")]
|
|
150
150
|
assert kw.get("timeout") == 600 # long clone timeout, not the 300 default
|
|
151
151
|
|
|
152
|
+
def test_clone_shallow_puts_end_of_options_before_url(self, tmp_path,
|
|
153
|
+
monkeypatch):
|
|
154
|
+
# a URL beginning with `-` must be a positional, never a git flag
|
|
155
|
+
calls = _record_run(monkeypatch)
|
|
156
|
+
gitutil.clone_shallow("--upload-pack=evil", tmp_path / "d")
|
|
157
|
+
(args, _kw), = calls
|
|
158
|
+
assert "--" in args and args.index("--") < args.index("--upload-pack=evil")
|
|
159
|
+
|
|
160
|
+
@pytest.mark.parametrize("bad", [
|
|
161
|
+
"ext::sh -c evil", "file::/etc/passwd", "fd::7",
|
|
162
|
+
"EXT::sh -c evil", # case-insensitive
|
|
163
|
+
" ext::sh -c evil", # leading whitespace stripped first
|
|
164
|
+
])
|
|
165
|
+
def test_clone_shallow_rejects_unsafe_transports(self, tmp_path, monkeypatch,
|
|
166
|
+
bad):
|
|
167
|
+
calls = _record_run(monkeypatch)
|
|
168
|
+
with pytest.raises(BoostError) as ei:
|
|
169
|
+
gitutil.clone_shallow(bad, tmp_path / "d")
|
|
170
|
+
assert "unsafe git transport" in ei.value.message
|
|
171
|
+
assert calls == [] # git is never invoked for a rejected URL
|
|
172
|
+
|
|
173
|
+
def test_clone_shallow_allows_ordinary_https(self, tmp_path, monkeypatch):
|
|
174
|
+
calls = _record_run(monkeypatch)
|
|
175
|
+
gitutil.clone_shallow("https://github.com/o/r", tmp_path / "d")
|
|
176
|
+
assert len(calls) == 1 # a normal remote clones, not rejected
|
|
177
|
+
|
|
152
178
|
def test_head_commit_argv_is_rev_parse_head(self, tmp_path, monkeypatch):
|
|
153
179
|
calls = _record_run(monkeypatch, stdout="c0ffee\n")
|
|
154
180
|
assert gitutil.head_commit(tmp_path / "r") == "c0ffee"
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: end-of-options-guard-on-git-commands
|
|
3
|
-
board: code
|
|
4
|
-
section: internals
|
|
5
|
-
status: next
|
|
6
|
-
category: Security
|
|
7
|
-
complexity: S
|
|
8
|
-
impact: Med
|
|
9
|
-
wow: 3
|
|
10
|
-
note:
|
|
11
|
-
order: 6
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
14
|
-
title: End-of-options <code>--</code> guard on git commands
|
|
15
|
-
---
|
|
16
|
-
<code>clone_shallow</code>/<code>fetch</code>/<code>reset</code> pass the URL & ref as positionals with no <code>--</code> separator (<code>core/gitutil.py:34–46</code>), so a value starting with <code>-</code> is parsed as a git option. <code>parse_spec</code> constrains most URL shapes, but adding <code>--</code> before positionals and rejecting <code>ext::</code>/<code>file::</code>/<code>fd::</code> transports closes the argument-injection surface as defense-in-depth.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.72 → boost_skill_cli-1.0.73}/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
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/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
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/one-command-every-env-nox.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
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/reconcile-the-theme-drift.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/robust-tag-argument-parsing.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/second-type-checker-pyright.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/single-tech-stack-prober.md
RENAMED
|
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.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/typo-detection-codespell.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/update-diff-before-apply.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/windows-in-the-ci-matrix.md
RENAMED
|
File without changes
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/workflow-linting-actionlint.md
RENAMED
|
File without changes
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/docs/roadmap/items/workflow-sast-zizmor.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
|
{boost_skill_cli-1.0.72 → boost_skill_cli-1.0.73}/tests/functional/test_cli_configuration.py
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
|