boost-skill-cli 1.0.45__tar.gz → 1.0.47__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.45 → boost_skill_cli-1.0.47}/PKG-INFO +11 -1
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/README.md +10 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_skill_cli.egg-info/PKG-INFO +11 -1
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/docs/roadmap.html +139 -1
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/.gitignore +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/CLAUDE.md +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/LICENSE +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/MANIFEST.in +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/Makefile +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/docs/index.html +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/pyproject.toml +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/setup.cfg +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/style/README.md +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/style/boost.css +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/style/boost.js +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/style/demo.html +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/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.47
|
|
4
4
|
Summary: boost — Homebrew for AI coding skills
|
|
5
5
|
Author: Jonathan Reyes
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -885,6 +885,16 @@ behind the page, and glass cards that light up under the cursor. Drop
|
|
|
885
885
|
[`style/demo.html`](style/demo.html) for the whole system on one page and
|
|
886
886
|
[`style/README.md`](style/README.md) for the tokens and class reference.
|
|
887
887
|
|
|
888
|
+
The same palette runs in the **terminal**. boost renders in 24-bit Aurora color
|
|
889
|
+
where the terminal advertises it (`COLORTERM=truecolor`), degrading cleanly to
|
|
890
|
+
16-color and then to plain text — so the gradient `boost` wordmark, framed
|
|
891
|
+
result cards, search relevance meters, and the green `● healthy` doctor verdict
|
|
892
|
+
all speak the same design system as the web (the CLI palette is even
|
|
893
|
+
[test-locked](tests/unit/test_token_parity.py) to `style/boost.css`, so the two
|
|
894
|
+
can't drift). Color follows the [NO_COLOR](https://no-color.org) convention plus
|
|
895
|
+
a `BOOST_COLOR` override — set `BOOST_COLOR=never` to force plain output (handy
|
|
896
|
+
for logs and pipes) or `BOOST_COLOR=always` to keep color through a pipe.
|
|
897
|
+
|
|
888
898
|
## Working on boost
|
|
889
899
|
|
|
890
900
|
```bash
|
|
@@ -179,6 +179,16 @@ behind the page, and glass cards that light up under the cursor. Drop
|
|
|
179
179
|
[`style/demo.html`](style/demo.html) for the whole system on one page and
|
|
180
180
|
[`style/README.md`](style/README.md) for the tokens and class reference.
|
|
181
181
|
|
|
182
|
+
The same palette runs in the **terminal**. boost renders in 24-bit Aurora color
|
|
183
|
+
where the terminal advertises it (`COLORTERM=truecolor`), degrading cleanly to
|
|
184
|
+
16-color and then to plain text — so the gradient `boost` wordmark, framed
|
|
185
|
+
result cards, search relevance meters, and the green `● healthy` doctor verdict
|
|
186
|
+
all speak the same design system as the web (the CLI palette is even
|
|
187
|
+
[test-locked](tests/unit/test_token_parity.py) to `style/boost.css`, so the two
|
|
188
|
+
can't drift). Color follows the [NO_COLOR](https://no-color.org) convention plus
|
|
189
|
+
a `BOOST_COLOR` override — set `BOOST_COLOR=never` to force plain output (handy
|
|
190
|
+
for logs and pipes) or `BOOST_COLOR=always` to keep color through a pipe.
|
|
191
|
+
|
|
182
192
|
## Working on boost
|
|
183
193
|
|
|
184
194
|
```bash
|
|
@@ -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.47'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 47)
|
|
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.47
|
|
4
4
|
Summary: boost — Homebrew for AI coding skills
|
|
5
5
|
Author: Jonathan Reyes
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -885,6 +885,16 @@ behind the page, and glass cards that light up under the cursor. Drop
|
|
|
885
885
|
[`style/demo.html`](style/demo.html) for the whole system on one page and
|
|
886
886
|
[`style/README.md`](style/README.md) for the tokens and class reference.
|
|
887
887
|
|
|
888
|
+
The same palette runs in the **terminal**. boost renders in 24-bit Aurora color
|
|
889
|
+
where the terminal advertises it (`COLORTERM=truecolor`), degrading cleanly to
|
|
890
|
+
16-color and then to plain text — so the gradient `boost` wordmark, framed
|
|
891
|
+
result cards, search relevance meters, and the green `● healthy` doctor verdict
|
|
892
|
+
all speak the same design system as the web (the CLI palette is even
|
|
893
|
+
[test-locked](tests/unit/test_token_parity.py) to `style/boost.css`, so the two
|
|
894
|
+
can't drift). Color follows the [NO_COLOR](https://no-color.org) convention plus
|
|
895
|
+
a `BOOST_COLOR` override — set `BOOST_COLOR=never` to force plain output (handy
|
|
896
|
+
for logs and pipes) or `BOOST_COLOR=always` to keep color through a pipe.
|
|
897
|
+
|
|
888
898
|
## Working on boost
|
|
889
899
|
|
|
890
900
|
```bash
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class="stat"><b>4</b><span>Shipped</span></div>
|
|
117
117
|
<div class="stat"><b>3</b><span>Next up</span></div>
|
|
118
118
|
<div class="stat"><b>4</b><span>Planned</span></div>
|
|
119
|
-
<div class="stat"><b>
|
|
119
|
+
<div class="stat"><b>40</b><span>Loop finds</span></div>
|
|
120
120
|
</div>
|
|
121
121
|
</section>
|
|
122
122
|
|
|
@@ -872,6 +872,144 @@
|
|
|
872
872
|
</div>
|
|
873
873
|
</section>
|
|
874
874
|
|
|
875
|
+
<!-- ============ COMPATIBILITY & INSTALL INTEGRITY ============ -->
|
|
876
|
+
<section class="block reveal" id="compat">
|
|
877
|
+
<div class="block-head">
|
|
878
|
+
<h2>Compatibility & install integrity</h2>
|
|
879
|
+
<span class="count">// planned · free tooling to prove boost installs & runs everywhere it claims</span>
|
|
880
|
+
<span class="rule"></span>
|
|
881
|
+
</div>
|
|
882
|
+
<div class="rgrid">
|
|
883
|
+
|
|
884
|
+
<article class="cap rcard">
|
|
885
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Compat · Platform</span></div>
|
|
886
|
+
<h3>Windows in the CI matrix</h3>
|
|
887
|
+
<p>The test matrix runs macOS and Ubuntu only, so
|
|
888
|
+
<code>windows-latest</code> path separators, case-sensitivity and
|
|
889
|
+
console-encoding bugs ship uncaught to any Windows user. Adding one
|
|
890
|
+
matrix leg closes the biggest untested surface for a tool that promises
|
|
891
|
+
to work "everywhere your agent does".</p>
|
|
892
|
+
<div class="meta">
|
|
893
|
+
<span class="m">Complexity <b>S</b></span>
|
|
894
|
+
<span class="m hi">Impact <b>High</b></span>
|
|
895
|
+
<span class="m">Wow <b class="wow">★★★★</b></span>
|
|
896
|
+
<span class="m">untested OS</span>
|
|
897
|
+
</div>
|
|
898
|
+
</article>
|
|
899
|
+
|
|
900
|
+
<article class="cap rcard">
|
|
901
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Testing · Install</span></div>
|
|
902
|
+
<h3>Clean-env install smoke — pip & <code>pipx</code></h3>
|
|
903
|
+
<p>Every gate runs against an editable <code>pip install -e .</code>, which
|
|
904
|
+
hides missing package-data, a broken entry point or an undeclared
|
|
905
|
+
dependency. A job that <code>pip install</code>s the built wheel into a
|
|
906
|
+
<em>fresh</em> venv (and <code>pipx install</code>s it) then runs
|
|
907
|
+
<code>boost --version</code> proves the artifact a user actually gets
|
|
908
|
+
works.</p>
|
|
909
|
+
<div class="meta">
|
|
910
|
+
<span class="m">Complexity <b>S</b></span>
|
|
911
|
+
<span class="m hi">Impact <b>High</b></span>
|
|
912
|
+
<span class="m">Wow <b class="wow">★★★★</b></span>
|
|
913
|
+
<span class="m">tests the real artifact</span>
|
|
914
|
+
</div>
|
|
915
|
+
</article>
|
|
916
|
+
|
|
917
|
+
<article class="cap rcard">
|
|
918
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Testing · Deps</span></div>
|
|
919
|
+
<h3>Lowest-version resolution — <code>uv --resolution lowest-direct</code></h3>
|
|
920
|
+
<p>CI always installs the <em>newest</em> compatible dependencies, so the
|
|
921
|
+
lower bounds declared in <code>pyproject.toml</code> are never actually
|
|
922
|
+
exercised. Resolving and testing against the minimum versions catches
|
|
923
|
+
the "works here, breaks on the floor we advertise" class of bug.</p>
|
|
924
|
+
<div class="meta">
|
|
925
|
+
<span class="m">Complexity <b>S</b></span>
|
|
926
|
+
<span class="m">Impact <b>Med</b></span>
|
|
927
|
+
<span class="m">Wow <b class="wow">★★★</b></span>
|
|
928
|
+
<span class="m">honours declared floors</span>
|
|
929
|
+
</div>
|
|
930
|
+
</article>
|
|
931
|
+
|
|
932
|
+
<article class="cap rcard">
|
|
933
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Compat · Python</span></div>
|
|
934
|
+
<h3>Pre-release Python canary — 3.14t free-threaded</h3>
|
|
935
|
+
<p>An allow-failure matrix leg on Python pre-releases and the free-threaded
|
|
936
|
+
(no-GIL) build gives early warning of breakage before users on new
|
|
937
|
+
interpreters hit it. Cheap insurance for a project that already targets
|
|
938
|
+
3.9 → 3.14 and can't afford a surprise on release day.</p>
|
|
939
|
+
<div class="meta">
|
|
940
|
+
<span class="m">Complexity <b>S</b></span>
|
|
941
|
+
<span class="m">Impact <b>Med</b></span>
|
|
942
|
+
<span class="m">Wow <b class="wow">★★★</b></span>
|
|
943
|
+
<span class="m">continue-on-error</span>
|
|
944
|
+
</div>
|
|
945
|
+
</article>
|
|
946
|
+
|
|
947
|
+
<article class="cap rcard">
|
|
948
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Perf · Startup</span></div>
|
|
949
|
+
<h3>Startup & import-time budget — <code>-X importtime</code></h3>
|
|
950
|
+
<p>For a CLI, cold-start latency <em>is</em> the UX — every command pays it.
|
|
951
|
+
A gate on <code>python -X importtime boost</code> catches the accidental
|
|
952
|
+
top-level import of a heavy module (the optional <code>[rag]</code> stack
|
|
953
|
+
is the obvious trap) and keeps common commands feeling instant.</p>
|
|
954
|
+
<div class="meta">
|
|
955
|
+
<span class="m">Complexity <b>M</b></span>
|
|
956
|
+
<span class="m hi">Impact <b>High</b></span>
|
|
957
|
+
<span class="m">Wow <b class="wow">★★★★</b></span>
|
|
958
|
+
<span class="m">lazy-import guard</span>
|
|
959
|
+
</div>
|
|
960
|
+
</article>
|
|
961
|
+
|
|
962
|
+
<article class="cap rcard">
|
|
963
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Quality · Packaging</span></div>
|
|
964
|
+
<h3>Package-metadata validation — <code>twine check</code> + friends</h3>
|
|
965
|
+
<p>Before every publish, <code>twine check</code> confirms the long
|
|
966
|
+
description renders on PyPI, <code>check-wheel-contents</code> catches
|
|
967
|
+
stray or missing files, and <code>pyroma</code> scores the metadata
|
|
968
|
+
completeness. Stops a broken PyPI page or an empty wheel from reaching
|
|
969
|
+
users — the release path currently trusts the build blindly.</p>
|
|
970
|
+
<div class="meta">
|
|
971
|
+
<span class="m">Complexity <b>S</b></span>
|
|
972
|
+
<span class="m">Impact <b>Med</b></span>
|
|
973
|
+
<span class="m">Wow <b class="wow">★★★</b></span>
|
|
974
|
+
<span class="m">pre-publish gate</span>
|
|
975
|
+
</div>
|
|
976
|
+
</article>
|
|
977
|
+
|
|
978
|
+
<article class="cap rcard">
|
|
979
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Security · Repro</span></div>
|
|
980
|
+
<h3>Hash-pinned, reproducible toolchain — <code>uv.lock</code></h3>
|
|
981
|
+
<p>Pin the dev and CI toolchain with a hash-locked <code>uv.lock</code> (or
|
|
982
|
+
a hashed constraints file) so a yanked or compromised transitive
|
|
983
|
+
dependency can't silently change a build. The reproducibility layer that
|
|
984
|
+
complements Dependabot and <code>pip-audit</code> — same inputs, same
|
|
985
|
+
bytes, every run.</p>
|
|
986
|
+
<div class="meta">
|
|
987
|
+
<span class="m">Complexity <b>M</b></span>
|
|
988
|
+
<span class="m">Impact <b>Med</b></span>
|
|
989
|
+
<span class="m">Wow <b class="wow">★★★</b></span>
|
|
990
|
+
<span class="m">supply-chain repro</span>
|
|
991
|
+
</div>
|
|
992
|
+
</article>
|
|
993
|
+
|
|
994
|
+
<article class="cap rcard">
|
|
995
|
+
<div class="head"><span class="pill planned">Planned</span><span class="cat">Testing · Infra</span></div>
|
|
996
|
+
<h3>One command, every env — <code>nox</code></h3>
|
|
997
|
+
<p>A <code>noxfile.py</code> makes the full lint / test / smoke / mutation
|
|
998
|
+
gate reproducible across 3.9 → 3.14 in isolated environments,
|
|
999
|
+
locally and in CI alike — so "green on my machine" and "green in CI"
|
|
1000
|
+
finally mean the same thing, and a contributor can run the exact gate
|
|
1001
|
+
before pushing.</p>
|
|
1002
|
+
<div class="meta">
|
|
1003
|
+
<span class="m">Complexity <b>S</b></span>
|
|
1004
|
+
<span class="m">Impact <b>Med</b></span>
|
|
1005
|
+
<span class="m">Wow <b class="wow">★★</b></span>
|
|
1006
|
+
<span class="m">local == CI</span>
|
|
1007
|
+
</div>
|
|
1008
|
+
</article>
|
|
1009
|
+
|
|
1010
|
+
</div>
|
|
1011
|
+
</section>
|
|
1012
|
+
|
|
875
1013
|
<footer>
|
|
876
1014
|
<p>Maintained by the boost quality loop · themed with
|
|
877
1015
|
<a href="../style/boost.css">style/boost.css</a> ·
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.45 → boost_skill_cli-1.0.47}/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
|
{boost_skill_cli-1.0.45 → boost_skill_cli-1.0.47}/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
|