boost-skill-cli 1.0.83__tar.gz → 1.0.85__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.83 → boost_skill_cli-1.0.85}/Makefile +2 -1
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/PKG-INFO +11 -1
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/README.md +10 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_skill_cli.egg-info/PKG-INFO +11 -1
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_skill_cli.egg-info/SOURCES.txt +3 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/index.html +1 -0
- boost_skill_cli-1.0.85/docs/roadmap/items/log-timestamps-mislabeled-utc.md +25 -0
- boost_skill_cli-1.0.85/docs/roadmap/items/make-the-roadmaps-discoverable.md +22 -0
- boost_skill_cli-1.0.85/docs/roadmap/items/mcp-launch-objc-fork-safety.md +26 -0
- boost_skill_cli-1.0.85/docs/roadmap/items/rule-install-native-materialization.md +29 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/typo-detection-codespell.md +3 -3
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap.html +79 -9
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/pyproject.toml +7 -0
- boost_skill_cli-1.0.83/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -20
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/.gitattributes +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/.gitignore +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/CLAUDE.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/LICENSE +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/MANIFEST.in +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/index.html +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/setup.cfg +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/style/README.md +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/style/boost.css +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/style/boost.js +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/style/demo.html +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/tests/unit/test_version.py +0 -0
|
@@ -10,7 +10,7 @@ PYTEST := $(VENV)/bin/pytest
|
|
|
10
10
|
|
|
11
11
|
venv:
|
|
12
12
|
python3 -m venv $(VENV)
|
|
13
|
-
$(VENV)/bin/pip -q install pytest pytest-cov coverage mutmut ruff mypy
|
|
13
|
+
$(VENV)/bin/pip -q install pytest pytest-cov coverage mutmut ruff mypy codespell
|
|
14
14
|
|
|
15
15
|
unit:
|
|
16
16
|
$(PYTEST) tests/unit -q
|
|
@@ -35,6 +35,7 @@ mutation:
|
|
|
35
35
|
lint:
|
|
36
36
|
$(VENV)/bin/ruff check boost_cli tests
|
|
37
37
|
$(VENV)/bin/mypy
|
|
38
|
+
$(VENV)/bin/codespell boost_cli docs README.md
|
|
38
39
|
$(PY) scripts/build_registries.py --check
|
|
39
40
|
$(PY) scripts/build_roadmap.py --check
|
|
40
41
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boost-skill-cli
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.85
|
|
4
4
|
Summary: boost — Homebrew for AI coding skills
|
|
5
5
|
Author: Jonathan Reyes
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -726,6 +726,16 @@ update all of them, you run one command.
|
|
|
726
726
|
<sub><em>tap a registry → search → install into every agent → doctor — one flow</em></sub>
|
|
727
727
|
</p>
|
|
728
728
|
|
|
729
|
+
## Roadmap
|
|
730
|
+
|
|
731
|
+
boost is built in the open. Two living boards — generated from
|
|
732
|
+
`docs/roadmap/items/*.md` — track what's shipped, in flight, and planned:
|
|
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
|
|
736
|
+
|
|
737
|
+
Both are reachable from the [Visual Guide](https://jonnyeclectic.github.io/boost/) nav.
|
|
738
|
+
|
|
729
739
|
## What's a "skill," exactly?
|
|
730
740
|
|
|
731
741
|
A **skill** is just a `SKILL.md` file — Markdown plus a bit of YAML up top —
|
|
@@ -20,6 +20,16 @@ update all of them, you run one command.
|
|
|
20
20
|
<sub><em>tap a registry → search → install into every agent → doctor — one flow</em></sub>
|
|
21
21
|
</p>
|
|
22
22
|
|
|
23
|
+
## Roadmap
|
|
24
|
+
|
|
25
|
+
boost is built in the open. Two living boards — generated from
|
|
26
|
+
`docs/roadmap/items/*.md` — track what's shipped, in flight, and planned:
|
|
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
|
|
30
|
+
|
|
31
|
+
Both are reachable from the [Visual Guide](https://jonnyeclectic.github.io/boost/) nav.
|
|
32
|
+
|
|
23
33
|
## What's a "skill," exactly?
|
|
24
34
|
|
|
25
35
|
A **skill** is just a `SKILL.md` file — Markdown plus a bit of YAML up top —
|
|
@@ -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.85'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 85)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boost-skill-cli
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.85
|
|
4
4
|
Summary: boost — Homebrew for AI coding skills
|
|
5
5
|
Author: Jonathan Reyes
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -726,6 +726,16 @@ update all of them, you run one command.
|
|
|
726
726
|
<sub><em>tap a registry → search → install into every agent → doctor — one flow</em></sub>
|
|
727
727
|
</p>
|
|
728
728
|
|
|
729
|
+
## Roadmap
|
|
730
|
+
|
|
731
|
+
boost is built in the open. Two living boards — generated from
|
|
732
|
+
`docs/roadmap/items/*.md` — track what's shipped, in flight, and planned:
|
|
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
|
|
736
|
+
|
|
737
|
+
Both are reachable from the [Visual Guide](https://jonnyeclectic.github.io/boost/) nav.
|
|
738
|
+
|
|
729
739
|
## What's a "skill," exactly?
|
|
730
740
|
|
|
731
741
|
A **skill** is just a `SKILL.md` file — Markdown plus a bit of YAML up top —
|
|
@@ -127,9 +127,11 @@ docs/roadmap/items/layering-guard-import-linter.md
|
|
|
127
127
|
docs/roadmap/items/lighthouse-ci-on-the-pages-site.md
|
|
128
128
|
docs/roadmap/items/localize-the-stored-bm25-snippet.md
|
|
129
129
|
docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md
|
|
130
|
+
docs/roadmap/items/log-timestamps-mislabeled-utc.md
|
|
130
131
|
docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md
|
|
131
132
|
docs/roadmap/items/make-the-roadmaps-discoverable.md
|
|
132
133
|
docs/roadmap/items/markdown-consistency-markdownlint-cli2.md
|
|
134
|
+
docs/roadmap/items/mcp-launch-objc-fork-safety.md
|
|
133
135
|
docs/roadmap/items/memoize-config-load-in-process.md
|
|
134
136
|
docs/roadmap/items/modernization-smells-refurb-pyupgrade.md
|
|
135
137
|
docs/roadmap/items/mutation-hardening-core-frontmatter-py.md
|
|
@@ -152,6 +154,7 @@ docs/roadmap/items/reconcile-the-theme-drift.md
|
|
|
152
154
|
docs/roadmap/items/refresh-the-marketing-surface.md
|
|
153
155
|
docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md
|
|
154
156
|
docs/roadmap/items/robust-tag-argument-parsing.md
|
|
157
|
+
docs/roadmap/items/rule-install-native-materialization.md
|
|
155
158
|
docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md
|
|
156
159
|
docs/roadmap/items/sbom-aware-scanning-osv-scanner.md
|
|
157
160
|
docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md
|
|
@@ -447,6 +447,7 @@
|
|
|
447
447
|
<li><a href="#capabilities">Capabilities</a></li>
|
|
448
448
|
<li><a href="#registries">Registries</a></li>
|
|
449
449
|
<li><a href="roadmap.html">Roadmap ↗</a></li>
|
|
450
|
+
<li><a href="design-roadmap.html">Design ↗</a></li>
|
|
450
451
|
<li><a href="https://jonnyeclectic.github.io/portfolio/">Portfolio ↗</a></li>
|
|
451
452
|
<li><a class="cta" href="#start">Get started</a></li>
|
|
452
453
|
</ul>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: log-timestamps-mislabeled-utc
|
|
3
|
+
board: code
|
|
4
|
+
section: health
|
|
5
|
+
status: planned
|
|
6
|
+
category: Observability · Diagnostics
|
|
7
|
+
complexity: S
|
|
8
|
+
impact: Med
|
|
9
|
+
wow: 2
|
|
10
|
+
note: converter = time.gmtime
|
|
11
|
+
order: 10
|
|
12
|
+
owner:
|
|
13
|
+
pr:
|
|
14
|
+
title: Log timestamps are local time mislabeled <code>Z</code>
|
|
15
|
+
---
|
|
16
|
+
<code>core/logs.py</code> builds the <code>logging.Formatter</code> with
|
|
17
|
+
<code>datefmt="%Y-%m-%dT%H:%M:%SZ"</code> but never sets
|
|
18
|
+
<code>converter = time.gmtime</code>, so <code>%(asctime)s</code> uses
|
|
19
|
+
<em>local</em> time while stamping a literal <code>Z</code> (UTC)
|
|
20
|
+
suffix. Every line in <code>~/.boost/logs/boost.log</code> is therefore
|
|
21
|
+
off by the machine's UTC offset — which nearly caused a 5-hour
|
|
22
|
+
mis-correlation when matching the log against an OS crash report. Set
|
|
23
|
+
the formatter's <code>converter</code> to <code>time.gmtime</code> (or
|
|
24
|
+
drop the <code>Z</code>) so the trail is honestly UTC, making the
|
|
25
|
+
pid/ppid crash-correlation breadcrumbs trustworthy.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: make-the-roadmaps-discoverable
|
|
3
|
+
board: code
|
|
4
|
+
section: docsite
|
|
5
|
+
status: shipped
|
|
6
|
+
category: Docs · Discoverability
|
|
7
|
+
complexity: S
|
|
8
|
+
impact: Med
|
|
9
|
+
wow: 3
|
|
10
|
+
note: nav + README links
|
|
11
|
+
order: 1
|
|
12
|
+
owner: loop/roadmaps-discoverable
|
|
13
|
+
pr: 101
|
|
14
|
+
title: Make the roadmaps discoverable
|
|
15
|
+
---
|
|
16
|
+
The living roadmaps were unreachable unless you knew the URL:
|
|
17
|
+
<code>design-roadmap.html</code> was linked nowhere and the README had no
|
|
18
|
+
roadmap link at all. The Visual Guide nav now carries both boards (a
|
|
19
|
+
<code>Design ↗</code> entry beside the existing <code>Roadmap ↗</code>),
|
|
20
|
+
and the README opens with a <b>Roadmap</b> section linking the code and design
|
|
21
|
+
boards plus the Visual Guide — so the two data-driven boards are one click away
|
|
22
|
+
and the work stays visible.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: mcp-launch-objc-fork-safety
|
|
3
|
+
board: code
|
|
4
|
+
section: compat
|
|
5
|
+
status: planned
|
|
6
|
+
category: Compatibility · macOS
|
|
7
|
+
complexity: S
|
|
8
|
+
impact: Med
|
|
9
|
+
wow: 3
|
|
10
|
+
note: OBJC_DISABLE_INITIALIZE_FORK_SAFETY
|
|
11
|
+
order: 9
|
|
12
|
+
owner:
|
|
13
|
+
pr:
|
|
14
|
+
title: Harden <code>boost mcp</code> launch against macOS Obj-C fork aborts
|
|
15
|
+
---
|
|
16
|
+
On macOS, a host that spawns <code>boost mcp --stdio</code> via <code>fork()</code>
|
|
17
|
+
can abort on the child side pre-<code>exec</code> when Obj-C is touched
|
|
18
|
+
post-fork (CFPreferences / <code>_scproxy</code> proxy lookup) — the
|
|
19
|
+
classic <em>"crashed on child side of fork pre-exec"</em>
|
|
20
|
+
<code>SIGABRT</code>. Not boost's own code (it aborts before boost
|
|
21
|
+
runs), but boost can make its integration robust: when registering the
|
|
22
|
+
MCP server (<code>boost mcp register</code> / the emitted client
|
|
23
|
+
config), set <code>OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES</code> (and
|
|
24
|
+
<code>no_proxy=*</code>) in the launch environment so the host's fork
|
|
25
|
+
into boost can't trip the Obj-C fork-safety abort. Document it for
|
|
26
|
+
hosts that launch boost directly.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: rule-install-native-materialization
|
|
3
|
+
board: code
|
|
4
|
+
section: internals
|
|
5
|
+
status: planned
|
|
6
|
+
category: Install engine · Rules
|
|
7
|
+
complexity: L
|
|
8
|
+
impact: High
|
|
9
|
+
wow: 4
|
|
10
|
+
note: rules are indexed but never installed
|
|
11
|
+
order: 21
|
|
12
|
+
owner:
|
|
13
|
+
pr:
|
|
14
|
+
title: Rule install — materialize rules into each agent's native format
|
|
15
|
+
---
|
|
16
|
+
Today <code>store.install</code> refuses every non-skill kind
|
|
17
|
+
(<em>"rules and workflows show up in <code>boost search</code>/<code>boost taps</code>
|
|
18
|
+
for now"</em>), so rules are indexed for discovery but land nowhere —
|
|
19
|
+
there is no <code>boost install</code> path for a rule. Add one that
|
|
20
|
+
writes each rule into the form the target agent actually reads, since
|
|
21
|
+
there is no single cross-agent "rules folder": Cursor/Windsurf/Cline
|
|
22
|
+
consume a rules directory (<code>.cursorrules</code> /
|
|
23
|
+
<code>.windsurfrules</code> / <code>.clinerules</code> / <code>.mdc</code>),
|
|
24
|
+
but <strong>Claude Code has no rules folder</strong> — its standing
|
|
25
|
+
rules are <code>CLAUDE.md</code>. So installing a rule for Claude means
|
|
26
|
+
merging it into <code>CLAUDE.md</code> (a managed, idempotent block),
|
|
27
|
+
while for the others it means dropping the file into their rules dir.
|
|
28
|
+
Needs a store/lock model for rules (uninstall must cleanly remove the
|
|
29
|
+
merged block), mirroring how skills symlink into <code>enabled_agents()</code>.
|
{boost_skill_cli-1.0.83 → boost_skill_cli-1.0.85}/docs/roadmap/items/typo-detection-codespell.md
RENAMED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: typo-detection-codespell
|
|
3
3
|
board: code
|
|
4
4
|
section: dx
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: Quality · Docs
|
|
7
7
|
complexity: S
|
|
8
8
|
impact: Med
|
|
9
9
|
wow: 2
|
|
10
10
|
note: user-facing text
|
|
11
11
|
order: 4
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/codespell-gate
|
|
13
|
+
pr: 100
|
|
14
14
|
title: Typo detection — <code>codespell</code>
|
|
15
15
|
---
|
|
16
16
|
Cheap, high-signal for a project this documentation-heavy: scan the
|
|
@@ -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>88</b><span>Loop finds</span></div>
|
|
122
122
|
<!-- /ROADMAP:stats -->
|
|
123
123
|
</div>
|
|
124
124
|
</section>
|
|
@@ -615,6 +615,31 @@
|
|
|
615
615
|
<span class="m">Wow <b class="wow">★</b></span>
|
|
616
616
|
</div>
|
|
617
617
|
</article>
|
|
618
|
+
|
|
619
|
+
<article class="cap rcard">
|
|
620
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Install engine · Rules</span></div>
|
|
621
|
+
<h3>Rule install — materialize rules into each agent's native format</h3>
|
|
622
|
+
<p>Today <code>store.install</code> refuses every non-skill kind
|
|
623
|
+
(<em>"rules and workflows show up in <code>boost search</code>/<code>boost taps</code>
|
|
624
|
+
for now"</em>), so rules are indexed for discovery but land nowhere —
|
|
625
|
+
there is no <code>boost install</code> path for a rule. Add one that
|
|
626
|
+
writes each rule into the form the target agent actually reads, since
|
|
627
|
+
there is no single cross-agent "rules folder": Cursor/Windsurf/Cline
|
|
628
|
+
consume a rules directory (<code>.cursorrules</code> /
|
|
629
|
+
<code>.windsurfrules</code> / <code>.clinerules</code> / <code>.mdc</code>),
|
|
630
|
+
but <strong>Claude Code has no rules folder</strong> — its standing
|
|
631
|
+
rules are <code>CLAUDE.md</code>. So installing a rule for Claude means
|
|
632
|
+
merging it into <code>CLAUDE.md</code> (a managed, idempotent block),
|
|
633
|
+
while for the others it means dropping the file into their rules dir.
|
|
634
|
+
Needs a store/lock model for rules (uninstall must cleanly remove the
|
|
635
|
+
merged block), mirroring how skills symlink into <code>enabled_agents()</code>.</p>
|
|
636
|
+
<div class="meta">
|
|
637
|
+
<span class="m">Complexity <b>L</b></span>
|
|
638
|
+
<span class="m hi">Impact <b>High</b></span>
|
|
639
|
+
<span class="m">Wow <b class="wow">★★★★</b></span>
|
|
640
|
+
<span class="m">rules are indexed but never installed</span>
|
|
641
|
+
</div>
|
|
642
|
+
</article>
|
|
618
643
|
<!-- /ROADMAP:cards -->
|
|
619
644
|
|
|
620
645
|
</div>
|
|
@@ -784,6 +809,27 @@
|
|
|
784
809
|
<span class="m">avoid macOS _scproxy Obj-C path</span>
|
|
785
810
|
</div>
|
|
786
811
|
</article>
|
|
812
|
+
|
|
813
|
+
<article class="cap rcard">
|
|
814
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Observability · Diagnostics</span></div>
|
|
815
|
+
<h3>Log timestamps are local time mislabeled <code>Z</code></h3>
|
|
816
|
+
<p><code>core/logs.py</code> builds the <code>logging.Formatter</code> with
|
|
817
|
+
<code>datefmt="%Y-%m-%dT%H:%M:%SZ"</code> but never sets
|
|
818
|
+
<code>converter = time.gmtime</code>, so <code>%(asctime)s</code> uses
|
|
819
|
+
<em>local</em> time while stamping a literal <code>Z</code> (UTC)
|
|
820
|
+
suffix. Every line in <code>~/.boost/logs/boost.log</code> is therefore
|
|
821
|
+
off by the machine's UTC offset — which nearly caused a 5-hour
|
|
822
|
+
mis-correlation when matching the log against an OS crash report. Set
|
|
823
|
+
the formatter's <code>converter</code> to <code>time.gmtime</code> (or
|
|
824
|
+
drop the <code>Z</code>) so the trail is honestly UTC, making the
|
|
825
|
+
pid/ppid crash-correlation breadcrumbs trustworthy.</p>
|
|
826
|
+
<div class="meta">
|
|
827
|
+
<span class="m">Complexity <b>S</b></span>
|
|
828
|
+
<span class="m">Impact <b>Med</b></span>
|
|
829
|
+
<span class="m">Wow <b class="wow">★★</b></span>
|
|
830
|
+
<span class="m">converter = time.gmtime</span>
|
|
831
|
+
</div>
|
|
832
|
+
</article>
|
|
787
833
|
<!-- /ROADMAP:cards -->
|
|
788
834
|
|
|
789
835
|
</div>
|
|
@@ -991,7 +1037,7 @@
|
|
|
991
1037
|
</article>
|
|
992
1038
|
|
|
993
1039
|
<article class="cap rcard">
|
|
994
|
-
<div class="head"><span class="pill
|
|
1040
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Quality · Docs</span></div>
|
|
995
1041
|
<h3>Typo detection — <code>codespell</code></h3>
|
|
996
1042
|
<p>Cheap, high-signal for a project this documentation-heavy: scan the
|
|
997
1043
|
README, <code>docs/*.html</code>, docstrings and every user-facing CLI
|
|
@@ -1097,18 +1143,20 @@
|
|
|
1097
1143
|
|
|
1098
1144
|
<!-- ROADMAP:cards section=docsite -->
|
|
1099
1145
|
<article class="cap rcard">
|
|
1100
|
-
<div class="head"><span class="pill
|
|
1146
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Docs · Discoverability</span></div>
|
|
1101
1147
|
<h3>Make the roadmaps discoverable</h3>
|
|
1102
|
-
<p>
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1148
|
+
<p>The living roadmaps were unreachable unless you knew the URL:
|
|
1149
|
+
<code>design-roadmap.html</code> was linked nowhere and the README had no
|
|
1150
|
+
roadmap link at all. The Visual Guide nav now carries both boards (a
|
|
1151
|
+
<code>Design ↗</code> entry beside the existing <code>Roadmap ↗</code>),
|
|
1152
|
+
and the README opens with a <b>Roadmap</b> section linking the code and design
|
|
1153
|
+
boards plus the Visual Guide — so the two data-driven boards are one click away
|
|
1154
|
+
and the work stays visible.</p>
|
|
1107
1155
|
<div class="meta">
|
|
1108
1156
|
<span class="m">Complexity <b>S</b></span>
|
|
1109
1157
|
<span class="m">Impact <b>Med</b></span>
|
|
1110
1158
|
<span class="m">Wow <b class="wow">★★★</b></span>
|
|
1111
|
-
<span class="m">
|
|
1159
|
+
<span class="m">nav + README links</span>
|
|
1112
1160
|
</div>
|
|
1113
1161
|
</article>
|
|
1114
1162
|
|
|
@@ -1399,6 +1447,28 @@
|
|
|
1399
1447
|
<span class="m">local == CI</span>
|
|
1400
1448
|
</div>
|
|
1401
1449
|
</article>
|
|
1450
|
+
|
|
1451
|
+
<article class="cap rcard">
|
|
1452
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Compatibility · macOS</span></div>
|
|
1453
|
+
<h3>Harden <code>boost mcp</code> launch against macOS Obj-C fork aborts</h3>
|
|
1454
|
+
<p>On macOS, a host that spawns <code>boost mcp --stdio</code> via <code>fork()</code>
|
|
1455
|
+
can abort on the child side pre-<code>exec</code> when Obj-C is touched
|
|
1456
|
+
post-fork (CFPreferences / <code>_scproxy</code> proxy lookup) — the
|
|
1457
|
+
classic <em>"crashed on child side of fork pre-exec"</em>
|
|
1458
|
+
<code>SIGABRT</code>. Not boost's own code (it aborts before boost
|
|
1459
|
+
runs), but boost can make its integration robust: when registering the
|
|
1460
|
+
MCP server (<code>boost mcp register</code> / the emitted client
|
|
1461
|
+
config), set <code>OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES</code> (and
|
|
1462
|
+
<code>no_proxy=*</code>) in the launch environment so the host's fork
|
|
1463
|
+
into boost can't trip the Obj-C fork-safety abort. Document it for
|
|
1464
|
+
hosts that launch boost directly.</p>
|
|
1465
|
+
<div class="meta">
|
|
1466
|
+
<span class="m">Complexity <b>S</b></span>
|
|
1467
|
+
<span class="m">Impact <b>Med</b></span>
|
|
1468
|
+
<span class="m">Wow <b class="wow">★★★</b></span>
|
|
1469
|
+
<span class="m">OBJC_DISABLE_INITIALIZE_FORK_SAFETY</span>
|
|
1470
|
+
</div>
|
|
1471
|
+
</article>
|
|
1402
1472
|
<!-- /ROADMAP:cards -->
|
|
1403
1473
|
|
|
1404
1474
|
</div>
|
|
@@ -63,6 +63,13 @@ target-version = "py39"
|
|
|
63
63
|
# short throwaway names and lambda helpers are fine in tests
|
|
64
64
|
"tests/*" = ["E741", "E731"]
|
|
65
65
|
|
|
66
|
+
[tool.codespell]
|
|
67
|
+
# Spell-check user-facing text (see `make lint`: boost_cli, docs, README).
|
|
68
|
+
# Generated boards and the setuptools-scm version stub aren't ours to check.
|
|
69
|
+
skip = "docs/roadmap.html,docs/design-roadmap.html,boost_cli/_version.py,*.tar.gz"
|
|
70
|
+
# Valid English that codespell's dictionary flags as misspellings.
|
|
71
|
+
ignore-words-list = "unparseable,accreting"
|
|
72
|
+
|
|
66
73
|
[tool.mypy]
|
|
67
74
|
python_version = "3.9"
|
|
68
75
|
files = ["boost_cli"]
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: make-the-roadmaps-discoverable
|
|
3
|
-
board: code
|
|
4
|
-
section: docsite
|
|
5
|
-
status: next
|
|
6
|
-
category: Docs · Discoverability
|
|
7
|
-
complexity: S
|
|
8
|
-
impact: Med
|
|
9
|
-
wow: 3
|
|
10
|
-
note: 2 nav links
|
|
11
|
-
order: 1
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
14
|
-
title: Make the roadmaps discoverable
|
|
15
|
-
---
|
|
16
|
-
Neither <code>roadmap.html</code> nor <code>design-roadmap.html</code> is
|
|
17
|
-
linked from <code>docs/index.html</code> or the README — the living
|
|
18
|
-
roadmaps are unreachable unless you already know the URL. Add nav entries
|
|
19
|
-
on the Visual Guide and a "Roadmap" link in the README so the two boards
|
|
20
|
-
are one click away and the work stays visible.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.83 → boost_skill_cli-1.0.85}/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
|