boost-skill-cli 1.0.8__tar.gz → 1.0.10__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.
Files changed (86) hide show
  1. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/CLAUDE.md +22 -0
  2. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/PKG-INFO +1 -1
  3. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/_version.py +2 -2
  4. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/config.py +2 -2
  5. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_skill_cli.egg-info/PKG-INFO +1 -1
  6. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_config.py +1 -1
  7. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/.gitignore +0 -0
  8. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/CONTRIBUTING.md +0 -0
  9. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/LICENSE +0 -0
  10. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/MANIFEST.in +0 -0
  11. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/Makefile +0 -0
  12. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/README.md +0 -0
  13. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/SECURITY.md +0 -0
  14. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost +0 -0
  15. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/__init__.py +0 -0
  16. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/__main__.py +0 -0
  17. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/cli.py +0 -0
  18. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/commands/__init__.py +0 -0
  19. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/commands/configuration.py +0 -0
  20. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/commands/discovery.py +0 -0
  21. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/commands/info.py +0 -0
  22. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/commands/intelligence.py +0 -0
  23. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/commands/pkg.py +0 -0
  24. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/commands/quality.py +0 -0
  25. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/commands/taps.py +0 -0
  26. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/commands/team.py +0 -0
  27. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/__init__.py +0 -0
  28. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/agents.py +0 -0
  29. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/ai.py +0 -0
  30. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/catalog.py +0 -0
  31. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/frontmatter.py +0 -0
  32. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/gitutil.py +0 -0
  33. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/journal.py +0 -0
  34. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/lockfile.py +0 -0
  35. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/logs.py +0 -0
  36. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/output.py +0 -0
  37. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/paths.py +0 -0
  38. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/policy.py +0 -0
  39. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/registry.py +0 -0
  40. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/store.py +0 -0
  41. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/core/util.py +0 -0
  42. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/data/registries.json +0 -0
  43. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_cli/errors.py +0 -0
  44. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
  45. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  46. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  47. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/boost_skill_cli.egg-info/top_level.txt +0 -0
  48. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/docs/.claude/settings.local.json +0 -0
  49. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/docs/DEBUGGING.md +0 -0
  50. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/docs/demo.gif +0 -0
  51. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/docs/demo.tape +0 -0
  52. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/docs/index.html +0 -0
  53. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/docs/rag-architecture.md +0 -0
  54. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/pyproject.toml +0 -0
  55. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/scripts/build_registries.py +0 -0
  56. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/scripts/mutation_gate.py +0 -0
  57. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/setup.cfg +0 -0
  58. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/conftest.py +0 -0
  59. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/functional/test_cli_configuration.py +0 -0
  60. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/functional/test_cli_discovery.py +0 -0
  61. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/functional/test_cli_info.py +0 -0
  62. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/functional/test_cli_intelligence.py +0 -0
  63. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/functional/test_cli_pkg.py +0 -0
  64. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/functional/test_cli_quality.py +0 -0
  65. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/functional/test_cli_taps.py +0 -0
  66. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/functional/test_cli_team.py +0 -0
  67. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/functional/test_everyday_loop.py +0 -0
  68. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/make_fixture.py +0 -0
  69. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/smoke.sh +0 -0
  70. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_agents.py +0 -0
  71. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_ai.py +0 -0
  72. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_catalog.py +0 -0
  73. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_errors_and_cli_table.py +0 -0
  74. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_frontmatter.py +0 -0
  75. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_gitutil.py +0 -0
  76. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_journal.py +0 -0
  77. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_lockfile.py +0 -0
  78. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_logs.py +0 -0
  79. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_mutation_hardening.py +0 -0
  80. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_output.py +0 -0
  81. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_paths.py +0 -0
  82. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_policy.py +0 -0
  83. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_registry.py +0 -0
  84. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_store.py +0 -0
  85. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_util.py +0 -0
  86. {boost_skill_cli-1.0.8 → boost_skill_cli-1.0.10}/tests/unit/test_version.py +0 -0
@@ -50,6 +50,28 @@ line coverage. Target `boost_cli/core` behavior with assertions, not just import
50
50
  `workflow` (commands/agents/workflows Markdown). **Only `skill` installs** —
51
51
  `store.install` refuses non-skill kinds; rules/workflows are search/tap-only.
52
52
 
53
+ ## Parallel work & concurrent loops
54
+
55
+ More than one agent (or `/loop` session) may be working this repo at once. To
56
+ keep them from clobbering each other:
57
+
58
+ - **Never edit a checkout that has someone else's branch checked out.** The user
59
+ works live in `~/boost`; long-running loops use a separate `git worktree`
60
+ (e.g. `~/boost-loop`, which needs its **own** `.venv` because mutmut wants an
61
+ editable `pip install -e .` pointed at that tree). Run `git worktree list` and
62
+ `git status` before touching a tree — staged or unstaged changes mean another
63
+ agent is mid-edit there, so pick a different worktree.
64
+ - **Branch off `origin/main`, one topic per branch.** `git fetch origin main`
65
+ then `git checkout -B loop/<topic> origin/main`. Keep changes additive and
66
+ file-scoped so parallel branches merge without conflicts.
67
+ - **Coordinate through PRs, not the working tree.** `gh pr merge` is server-side
68
+ and won't touch anyone's local checkout. Before committing a file, inspect
69
+ `git status` / `git diff` — if another session has it staged or dirty, leave
70
+ it to that owner rather than committing over their in-flight work.
71
+ - **Every merge to `main` cuts a PyPI release.** Land one coherent change per PR,
72
+ never merge onto a red release, and after merging confirm the publish workflow
73
+ goes green — not just the PR checks.
74
+
53
75
  ## Layout
54
76
 
55
77
  - `boost_cli/commands/` — CLI command groups · `boost_cli/core/` — engine (the mutation-gated code)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.8
3
+ Version: 1.0.10
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -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.8'
22
- __version_tuple__ = version_tuple = (1, 0, 8)
21
+ __version__ = version = '1.0.10'
22
+ __version_tuple__ = version_tuple = (1, 0, 10)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -47,8 +47,8 @@ DEFAULT_TAPS = [
47
47
  {"name": "expo/skills", "url": "https://github.com/expo/skills",
48
48
  "curated": True,
49
49
  "focus": "Official Expo team skills — EAS builds, app stores, deployments"},
50
- {"name": "K-Dense-AI/claude-scientific-skills",
51
- "url": "https://github.com/K-Dense-AI/claude-scientific-skills",
50
+ {"name": "K-Dense-AI/scientific-agent-skills",
51
+ "url": "https://github.com/K-Dense-AI/scientific-agent-skills",
52
52
  "curated": True,
53
53
  "focus": "Scientific computing — research libraries, databases, analysis"},
54
54
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.8
3
+ Version: 1.0.10
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -161,7 +161,7 @@ class TestDefaultTaps:
161
161
  names = [t["name"] for t in config.DEFAULT_TAPS]
162
162
  assert names == ["anthropics/skills", "obra/superpowers",
163
163
  "trailofbits/skills", "expo/skills",
164
- "K-Dense-AI/claude-scientific-skills"]
164
+ "K-Dense-AI/scientific-agent-skills"]
165
165
  for tap in config.DEFAULT_TAPS:
166
166
  assert tap["curated"] is True
167
167
  assert tap["url"].startswith("https://github.com/")
File without changes