skillery-cli 0.4.0__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 (180) hide show
  1. skillery_cli-0.4.0/.gitignore +13 -0
  2. skillery_cli-0.4.0/LICENSE +21 -0
  3. skillery_cli-0.4.0/PKG-INFO +185 -0
  4. skillery_cli-0.4.0/README.md +152 -0
  5. skillery_cli-0.4.0/dryerr.txt +2 -0
  6. skillery_cli-0.4.0/meta_skill/AGENTS.md +562 -0
  7. skillery_cli-0.4.0/meta_skill/SKILL.md +493 -0
  8. skillery_cli-0.4.0/meta_skill/commands/README.md +41 -0
  9. skillery_cli-0.4.0/meta_skill/commands/skills-hub-collection.md +74 -0
  10. skillery_cli-0.4.0/meta_skill/commands/skills-hub-comment.md +23 -0
  11. skillery_cli-0.4.0/meta_skill/commands/skills-hub-company.md +60 -0
  12. skillery_cli-0.4.0/meta_skill/commands/skills-hub-enable.md +17 -0
  13. skillery_cli-0.4.0/meta_skill/commands/skills-hub-install.md +34 -0
  14. skillery_cli-0.4.0/meta_skill/commands/skills-hub-issue.md +26 -0
  15. skillery_cli-0.4.0/meta_skill/commands/skills-hub-member.md +44 -0
  16. skillery_cli-0.4.0/meta_skill/commands/skills-hub-migrate.md +22 -0
  17. skillery_cli-0.4.0/meta_skill/commands/skills-hub-onboard.md +37 -0
  18. skillery_cli-0.4.0/meta_skill/commands/skills-hub-rate.md +22 -0
  19. skillery_cli-0.4.0/meta_skill/commands/skills-hub-self-update.md +42 -0
  20. skillery_cli-0.4.0/meta_skill/commands/skills-hub-status.md +19 -0
  21. skillery_cli-0.4.0/meta_skill/commands/skills-hub-sync.md +17 -0
  22. skillery_cli-0.4.0/meta_skill/commands/skills-hub-ticket.md +33 -0
  23. skillery_cli-0.4.0/meta_skill/commands/skills-hub-update.md +17 -0
  24. skillery_cli-0.4.0/meta_skill/manifest-schema.md +296 -0
  25. skillery_cli-0.4.0/meta_skill/scripts/install.py +93 -0
  26. skillery_cli-0.4.0/pyproject.toml +69 -0
  27. skillery_cli-0.4.0/src/skills_hub_cli/__init__.py +2 -0
  28. skillery_cli-0.4.0/src/skills_hub_cli/__main__.py +2969 -0
  29. skillery_cli-0.4.0/src/skills_hub_cli/_deprecated_alias.py +22 -0
  30. skillery_cli-0.4.0/src/skills_hub_cli/commands/__init__.py +6 -0
  31. skillery_cli-0.4.0/src/skills_hub_cli/commands/_common.py +135 -0
  32. skillery_cli-0.4.0/src/skills_hub_cli/commands/account.py +294 -0
  33. skillery_cli-0.4.0/src/skills_hub_cli/commands/analytics.py +198 -0
  34. skillery_cli-0.4.0/src/skills_hub_cli/commands/collection.py +917 -0
  35. skillery_cli-0.4.0/src/skills_hub_cli/commands/comment.py +213 -0
  36. skillery_cli-0.4.0/src/skills_hub_cli/commands/company.py +635 -0
  37. skillery_cli-0.4.0/src/skills_hub_cli/commands/contrib.py +66 -0
  38. skillery_cli-0.4.0/src/skills_hub_cli/commands/daemon.py +427 -0
  39. skillery_cli-0.4.0/src/skills_hub_cli/commands/doctor.py +285 -0
  40. skillery_cli-0.4.0/src/skills_hub_cli/commands/event.py +190 -0
  41. skillery_cli-0.4.0/src/skills_hub_cli/commands/member.py +872 -0
  42. skillery_cli-0.4.0/src/skills_hub_cli/commands/onboard.py +239 -0
  43. skillery_cli-0.4.0/src/skills_hub_cli/commands/permission.py +180 -0
  44. skillery_cli-0.4.0/src/skills_hub_cli/commands/rate.py +97 -0
  45. skillery_cli-0.4.0/src/skills_hub_cli/commands/scaffold.py +326 -0
  46. skillery_cli-0.4.0/src/skills_hub_cli/commands/suggest.py +393 -0
  47. skillery_cli-0.4.0/src/skills_hub_cli/commands/ticket.py +332 -0
  48. skillery_cli-0.4.0/src/skills_hub_cli/config.py +558 -0
  49. skillery_cli-0.4.0/src/skills_hub_cli/core/__init__.py +0 -0
  50. skillery_cli-0.4.0/src/skills_hub_cli/core/_kit_config.py +73 -0
  51. skillery_cli-0.4.0/src/skills_hub_cli/core/agents/__init__.py +25 -0
  52. skillery_cli-0.4.0/src/skills_hub_cli/core/agents/antigravity.py +4 -0
  53. skillery_cli-0.4.0/src/skills_hub_cli/core/agents/base.py +4 -0
  54. skillery_cli-0.4.0/src/skills_hub_cli/core/agents/claude_code.py +4 -0
  55. skillery_cli-0.4.0/src/skills_hub_cli/core/agents/codex.py +4 -0
  56. skillery_cli-0.4.0/src/skills_hub_cli/core/agents/detect.py +13 -0
  57. skillery_cli-0.4.0/src/skills_hub_cli/core/deps_installer.py +16 -0
  58. skillery_cli-0.4.0/src/skills_hub_cli/core/installer.py +77 -0
  59. skillery_cli-0.4.0/src/skills_hub_cli/core/linker.py +16 -0
  60. skillery_cli-0.4.0/src/skills_hub_cli/core/local_collections.py +26 -0
  61. skillery_cli-0.4.0/src/skills_hub_cli/core/manifest_builder.py +18 -0
  62. skillery_cli-0.4.0/src/skills_hub_cli/core/mcp_register.py +16 -0
  63. skillery_cli-0.4.0/src/skills_hub_cli/core/onboarding.py +155 -0
  64. skillery_cli-0.4.0/src/skills_hub_cli/core/path_store.py +29 -0
  65. skillery_cli-0.4.0/src/skills_hub_cli/core/project_manifest.py +30 -0
  66. skillery_cli-0.4.0/src/skills_hub_cli/core/secret_scan.py +345 -0
  67. skillery_cli-0.4.0/src/skills_hub_cli/core/skill_filter.py +13 -0
  68. skillery_cli-0.4.0/src/skills_hub_cli/core/suggest.py +131 -0
  69. skillery_cli-0.4.0/src/skills_hub_cli/core/tooling_install.py +22 -0
  70. skillery_cli-0.4.0/src/skills_hub_cli/core/transport.py +1448 -0
  71. skillery_cli-0.4.0/src/skills_hub_cli/daemon/__init__.py +30 -0
  72. skillery_cli-0.4.0/src/skills_hub_cli/daemon/autostart.py +357 -0
  73. skillery_cli-0.4.0/src/skills_hub_cli/daemon/backoff.py +48 -0
  74. skillery_cli-0.4.0/src/skills_hub_cli/daemon/daemon_runner.py +293 -0
  75. skillery_cli-0.4.0/src/skills_hub_cli/daemon/event_collector.py +196 -0
  76. skillery_cli-0.4.0/src/skills_hub_cli/daemon/event_guard.py +167 -0
  77. skillery_cli-0.4.0/src/skills_hub_cli/daemon/event_sender.py +174 -0
  78. skillery_cli-0.4.0/src/skills_hub_cli/daemon/instrumentation.py +104 -0
  79. skillery_cli-0.4.0/src/skills_hub_cli/output.py +102 -0
  80. skillery_cli-0.4.0/src/skills_hub_cli/templates/__init__.py +782 -0
  81. skillery_cli-0.4.0/tests/__init__.py +0 -0
  82. skillery_cli-0.4.0/tests/conftest.py +13 -0
  83. skillery_cli-0.4.0/tests/test_cli_tag_parsing.py +69 -0
  84. skillery_cli-0.4.0/tests/unit/__init__.py +0 -0
  85. skillery_cli-0.4.0/tests/unit/test_admin_commands.py +372 -0
  86. skillery_cli-0.4.0/tests/unit/test_agents.py +39 -0
  87. skillery_cli-0.4.0/tests/unit/test_an_anon_flush.py +211 -0
  88. skillery_cli-0.4.0/tests/unit/test_an_daemon_autorestart.py +55 -0
  89. skillery_cli-0.4.0/tests/unit/test_an_daemon_status_warn.py +80 -0
  90. skillery_cli-0.4.0/tests/unit/test_an_event_relink.py +117 -0
  91. skillery_cli-0.4.0/tests/unit/test_an_event_source.py +57 -0
  92. skillery_cli-0.4.0/tests/unit/test_an_event_split.py +354 -0
  93. skillery_cli-0.4.0/tests/unit/test_auto_update.py +339 -0
  94. skillery_cli-0.4.0/tests/unit/test_b2_parse_error_response.py +274 -0
  95. skillery_cli-0.4.0/tests/unit/test_clikits_w1_retry.py +180 -0
  96. skillery_cli-0.4.0/tests/unit/test_clikits_w3_transport_kit.py +149 -0
  97. skillery_cli-0.4.0/tests/unit/test_cmd_install_local.py +227 -0
  98. skillery_cli-0.4.0/tests/unit/test_cmd_list_render.py +78 -0
  99. skillery_cli-0.4.0/tests/unit/test_cmd_update_tooling.py +185 -0
  100. skillery_cli-0.4.0/tests/unit/test_config_appconfig_layers.py +352 -0
  101. skillery_cli-0.4.0/tests/unit/test_config_role_flags.py +114 -0
  102. skillery_cli-0.4.0/tests/unit/test_dcli_commands.py +703 -0
  103. skillery_cli-0.4.0/tests/unit/test_dcli_transport.py +444 -0
  104. skillery_cli-0.4.0/tests/unit/test_discovery_suggest_cmd.py +321 -0
  105. skillery_cli-0.4.0/tests/unit/test_e23_collection.py +195 -0
  106. skillery_cli-0.4.0/tests/unit/test_e23_comment.py +325 -0
  107. skillery_cli-0.4.0/tests/unit/test_e23_contrib.py +103 -0
  108. skillery_cli-0.4.0/tests/unit/test_e23_daemon.py +259 -0
  109. skillery_cli-0.4.0/tests/unit/test_e23_event_collector.py +133 -0
  110. skillery_cli-0.4.0/tests/unit/test_e23_event_command.py +132 -0
  111. skillery_cli-0.4.0/tests/unit/test_e23_event_sender.py +124 -0
  112. skillery_cli-0.4.0/tests/unit/test_e23_rate.py +198 -0
  113. skillery_cli-0.4.0/tests/unit/test_e23_ticket.py +240 -0
  114. skillery_cli-0.4.0/tests/unit/test_e2_scaffold_command.py +272 -0
  115. skillery_cli-0.4.0/tests/unit/test_e2_scaffold_templates.py +231 -0
  116. skillery_cli-0.4.0/tests/unit/test_e3_deps_installer.py +167 -0
  117. skillery_cli-0.4.0/tests/unit/test_e3_doctor.py +285 -0
  118. skillery_cli-0.4.0/tests/unit/test_e3_install_flow_tooling.py +251 -0
  119. skillery_cli-0.4.0/tests/unit/test_e3_install_flow_tooling_real.py +129 -0
  120. skillery_cli-0.4.0/tests/unit/test_e3_mcp_register.py +240 -0
  121. skillery_cli-0.4.0/tests/unit/test_e3_path_store.py +309 -0
  122. skillery_cli-0.4.0/tests/unit/test_e3_tooling_install.py +266 -0
  123. skillery_cli-0.4.0/tests/unit/test_e48_install_layout.py +102 -0
  124. skillery_cli-0.4.0/tests/unit/test_e48_remove.py +103 -0
  125. skillery_cli-0.4.0/tests/unit/test_e48_traversal_guard.py +239 -0
  126. skillery_cli-0.4.0/tests/unit/test_e48_update_diff.py +299 -0
  127. skillery_cli-0.4.0/tests/unit/test_e50_publish_scan.py +101 -0
  128. skillery_cli-0.4.0/tests/unit/test_e50_secret_scan.py +243 -0
  129. skillery_cli-0.4.0/tests/unit/test_e7_analytics_local.py +182 -0
  130. skillery_cli-0.4.0/tests/unit/test_e7_backoff.py +50 -0
  131. skillery_cli-0.4.0/tests/unit/test_e7_event_agent.py +62 -0
  132. skillery_cli-0.4.0/tests/unit/test_e7_event_agent_callsites.py +258 -0
  133. skillery_cli-0.4.0/tests/unit/test_e7_event_guard.py +140 -0
  134. skillery_cli-0.4.0/tests/unit/test_e7_instrumentation_guard.py +94 -0
  135. skillery_cli-0.4.0/tests/unit/test_e7_queue_rotation.py +50 -0
  136. skillery_cli-0.4.0/tests/unit/test_e7_runner_backoff.py +130 -0
  137. skillery_cli-0.4.0/tests/unit/test_git_url_install.py +98 -0
  138. skillery_cli-0.4.0/tests/unit/test_installer.py +48 -0
  139. skillery_cli-0.4.0/tests/unit/test_installer_with_filter.py +163 -0
  140. skillery_cli-0.4.0/tests/unit/test_linker.py +77 -0
  141. skillery_cli-0.4.0/tests/unit/test_local_install.py +91 -0
  142. skillery_cli-0.4.0/tests/unit/test_login_command.py +227 -0
  143. skillery_cli-0.4.0/tests/unit/test_output_clikit_backend.py +131 -0
  144. skillery_cli-0.4.0/tests/unit/test_p0_collection_install.py +251 -0
  145. skillery_cli-0.4.0/tests/unit/test_p0_comment_edit_delete.py +163 -0
  146. skillery_cli-0.4.0/tests/unit/test_p0_daemon_uninstall.py +139 -0
  147. skillery_cli-0.4.0/tests/unit/test_p0_ticket_reply_status.py +265 -0
  148. skillery_cli-0.4.0/tests/unit/test_p0_transport.py +214 -0
  149. skillery_cli-0.4.0/tests/unit/test_p0_version.py +41 -0
  150. skillery_cli-0.4.0/tests/unit/test_p0fix_enable_offline.py +162 -0
  151. skillery_cli-0.4.0/tests/unit/test_p0fix_json_error_contract.py +198 -0
  152. skillery_cli-0.4.0/tests/unit/test_p0fix_lifecycle_no_login.py +113 -0
  153. skillery_cli-0.4.0/tests/unit/test_p0fix_manifest_symmetry.py +263 -0
  154. skillery_cli-0.4.0/tests/unit/test_p0fix_store_gc_force.py +98 -0
  155. skillery_cli-0.4.0/tests/unit/test_p0fix_stub_guard.py +250 -0
  156. skillery_cli-0.4.0/tests/unit/test_p0fix_token_fallback.py +291 -0
  157. skillery_cli-0.4.0/tests/unit/test_p0fix_update_skipped.py +119 -0
  158. skillery_cli-0.4.0/tests/unit/test_p1_account.py +683 -0
  159. skillery_cli-0.4.0/tests/unit/test_p1_company.py +1041 -0
  160. skillery_cli-0.4.0/tests/unit/test_p1_local_collections.py +462 -0
  161. skillery_cli-0.4.0/tests/unit/test_p1_member.py +761 -0
  162. skillery_cli-0.4.0/tests/unit/test_p1_onboard.py +458 -0
  163. skillery_cli-0.4.0/tests/unit/test_p1fix_smoke_tail.py +200 -0
  164. skillery_cli-0.4.0/tests/unit/test_passwd_command.py +191 -0
  165. skillery_cli-0.4.0/tests/unit/test_pk_installer_slugless.py +101 -0
  166. skillery_cli-0.4.0/tests/unit/test_pk_resolve_skill_id.py +82 -0
  167. skillery_cli-0.4.0/tests/unit/test_project_manifest.py +84 -0
  168. skillery_cli-0.4.0/tests/unit/test_skill_filter.py +170 -0
  169. skillery_cli-0.4.0/tests/unit/test_store_enable_disable.py +69 -0
  170. skillery_cli-0.4.0/tests/unit/test_store_install.py +209 -0
  171. skillery_cli-0.4.0/tests/unit/test_store_migrate.py +100 -0
  172. skillery_cli-0.4.0/tests/unit/test_store_sync.py +149 -0
  173. skillery_cli-0.4.0/tests/unit/test_strip_invite_url.py +19 -0
  174. skillery_cli-0.4.0/tests/unit/test_suggest.py +165 -0
  175. skillery_cli-0.4.0/tests/unit/test_suggest_ai.py +174 -0
  176. skillery_cli-0.4.0/tests/unit/test_w2_secretstore_tokens.py +211 -0
  177. skillery_cli-0.4.0/tests/unit/test_w6_command_kit_scaffold.py +108 -0
  178. skillery_cli-0.4.0/tests/unit/test_web_command.py +257 -0
  179. skillery_cli-0.4.0/tests/unit/test_web_install_pull.py +190 -0
  180. skillery_cli-0.4.0/uv.lock +859 -0
@@ -0,0 +1,13 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.egg-info/
4
+ .pytest_cache/
5
+ .ruff_cache/
6
+ .mypy_cache/
7
+ .coverage
8
+ dist/
9
+ build/
10
+ .venv/
11
+ .env
12
+ .idea/
13
+ .vscode/
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Dmitry
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,185 @@
1
+ Metadata-Version: 2.4
2
+ Name: skillery-cli
3
+ Version: 0.4.0
4
+ Summary: Skillery CLI — клиент маркетплейса AI-навыков для агентов (Claude Code, Codex).
5
+ Author: Dmitry
6
+ License: MIT
7
+ License-File: LICENSE
8
+ Keywords: ai,claude-code,cli,codex,skillery,skills
9
+ Classifier: Environment :: Console
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Requires-Python: >=3.11
17
+ Requires-Dist: httpx>=0.28
18
+ Requires-Dist: keyring>=25.0
19
+ Requires-Dist: pathspec>=0.12.0
20
+ Requires-Dist: pydantic>=2.9
21
+ Requires-Dist: rich>=13.9
22
+ Requires-Dist: s-clikit>=0.1.4
23
+ Requires-Dist: s-librarykit>=0.1.4
24
+ Requires-Dist: s-skillkit>=0.1.7
25
+ Requires-Dist: tomli-w>=1.0
26
+ Requires-Dist: typer>=0.15
27
+ Provides-Extra: dev
28
+ Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
29
+ Requires-Dist: pytest>=8.3; extra == 'dev'
30
+ Requires-Dist: respx>=0.21; extra == 'dev'
31
+ Requires-Dist: ruff>=0.8; extra == 'dev'
32
+ Description-Content-Type: text/markdown
33
+
34
+ # skillery-cli
35
+
36
+ CLI-клиент для **Skillery** — маркетплейса AI-навыков (skills) для агентов
37
+ (Claude Code, Codex и совместимых). Ставит навыки в центральный стор, линкует
38
+ их в проект или глобально, синхронизирует и обновляет.
39
+
40
+ ## Установка
41
+
42
+ ```bash
43
+ # Изолированно через pipx (рекомендуется):
44
+ pipx install skillery-cli
45
+
46
+ # либо в текущее окружение:
47
+ pip install skillery-cli
48
+ ```
49
+
50
+ После установки доступна команда `skillery`:
51
+
52
+ ```bash
53
+ skillery --help
54
+ ```
55
+
56
+ > Прежнее имя команды `skills-hub` оставлено как совместимость и лишь
57
+ > подсказывает перейти на `skillery`.
58
+
59
+ ## Quickstart
60
+
61
+ ```bash
62
+ # Онбординг: зарегистрироваться самому либо принять инвайт-ссылку/токен.
63
+ skillery register
64
+ skillery join <ссылка-или-токен>
65
+ # либо, если уже есть учётка:
66
+ skillery login --email me@example.com --password ...
67
+
68
+ # Посмотреть доступные навыки (доступ фильтруется правами):
69
+ skillery list
70
+ skillery collections # кураторские подборки
71
+
72
+ # Навыки ставятся в центральный стор (~/.skillery/store) и линкуются junction/
73
+ # symlink. Дефолтный scope — project (текущая папка).
74
+ skillery install bitrix24 # → стор + ссылка в ./.claude/skills
75
+ skillery install bitrix24 --scope global # → стор + ссылка в ~/.claude/skills
76
+
77
+ # Автономно — без хаба, из локальной папки или git (логин не нужен):
78
+ skillery install --path ./my-skill
79
+ skillery install --from-git <url> --ref v1.0.0
80
+
81
+ # Динамический набор проекта:
82
+ skillery enable wb-api # включить в текущем проекте
83
+ skillery disable wb-api # выключить (стор цел)
84
+ skillery sync # применить манифест проекта
85
+ skillery store list # что в сторе
86
+
87
+ # Обновить установленные навыки:
88
+ skillery update --all
89
+ ```
90
+
91
+ ## Установка под всех агентов
92
+
93
+ CLI автодетектит установленного агента (Claude Code / Codex) по наличию
94
+ `~/.claude` или `~/.codex` и кладёт навыки в правильный каталог. Можно
95
+ форсировать конкретного агента или поставить сразу под всех:
96
+
97
+ ```bash
98
+ skillery install bitrix24 --agent codex
99
+ skillery install bitrix24 --all-agents
100
+ ```
101
+
102
+ ## Оценки, комментарии, тикеты, коллекции
103
+
104
+ После логина (по правам) доступны:
105
+
106
+ ```bash
107
+ # Оценить навык (1..5) и посмотреть сводку:
108
+ skillery rate bitrix24 5
109
+ skillery rating-summary bitrix24
110
+
111
+ # Комментарий (с необязательным скриншотом):
112
+ skillery comment bitrix24 "работает в облаке" --screenshot ~/proof.png
113
+ skillery comments bitrix24 --limit 25
114
+
115
+ # Тикеты в поддержку:
116
+ skillery ticket create "OAuth ломается" --skill bitrix24 --kind bug
117
+ skillery tickets list --status open
118
+
119
+ # Коллекции (просмотр из CLI):
120
+ skillery collections list --type dynamic
121
+ skillery collection show popular
122
+ ```
123
+
124
+ ## Онбординг проекта
125
+
126
+ ```bash
127
+ # Детект стека (python / nodejs / nextjs / react / docker / terraform / go /
128
+ # rust / claude-code) → подбор навыков → включение в проект.
129
+ skillery onboard --yes
130
+ ```
131
+
132
+ ## Event tracking + daemon
133
+
134
+ CLI не шлёт события синхронно: он кладёт их в локальную очередь
135
+ (`~/.skillery/events.queue.json`) — сбой записи никогда не ломает команду.
136
+ Отдельный демон периодически берёт batch и отправляет его на бэкенд.
137
+
138
+ ```bash
139
+ skillery event queue --show # что в локальной очереди
140
+ skillery daemon start # запустить фоновый sender
141
+ skillery daemon status # alive + последний цикл + размер очереди
142
+ skillery daemon install # сгенерировать autostart-юнит (launchd / systemd / Task Scheduler)
143
+ ```
144
+
145
+ `daemon install` не трогает system-wide настройки — он лишь пишет unit-файл в
146
+ user-scope и печатает инструкцию по активации. Это безопасно для CI и
147
+ разделяемых окружений. Отправка событий работает и анонимно: протухшая сессия
148
+ не глушит телеметрию автономного CLI.
149
+
150
+ ## Конфиг
151
+
152
+ `~/.skillery/config.toml`:
153
+
154
+ ```toml
155
+ base_url = "https://hub.example.com"
156
+ web_ui_url = "https://hub.example.com/app"
157
+ output_format = "text" # text | json
158
+ auto_update = false # true → тихо обновляет навыки при следующей команде
159
+ default_install_scope = "project" # project | global
160
+ # store_dir = "~/.skillery/store" # центральный стор (env: SKILLS_HUB_STORE_DIR)
161
+ ```
162
+
163
+ Токены (access + refresh) хранятся в **OS keyring**:
164
+
165
+ - Windows — Credential Manager;
166
+ - macOS — Keychain;
167
+ - Linux — Secret Service (GNOME Keyring, KWallet, …).
168
+
169
+ Установки со старым каталогом `~/.skills-hub` подхватываются автоматически и
170
+ мигрируются в `~/.skillery` при первой записи.
171
+
172
+ ## Профили
173
+
174
+ `~/.skillery/profiles/staging.toml` + `--profile staging` — отдельный backend и
175
+ отдельные токены для другой среды.
176
+
177
+ ## Вывод: text | json
178
+
179
+ По умолчанию команды печатают человекочитаемый текст. Флаг `--json` (или
180
+ `output_format = "json"` в конфиге) переключает вывод в JSON Lines — удобно для
181
+ скриптов и агентов: результат идёт в stdout, сообщения и ошибки — в stderr.
182
+
183
+ ## Лицензия
184
+
185
+ MIT — см. [LICENSE](LICENSE).
@@ -0,0 +1,152 @@
1
+ # skillery-cli
2
+
3
+ CLI-клиент для **Skillery** — маркетплейса AI-навыков (skills) для агентов
4
+ (Claude Code, Codex и совместимых). Ставит навыки в центральный стор, линкует
5
+ их в проект или глобально, синхронизирует и обновляет.
6
+
7
+ ## Установка
8
+
9
+ ```bash
10
+ # Изолированно через pipx (рекомендуется):
11
+ pipx install skillery-cli
12
+
13
+ # либо в текущее окружение:
14
+ pip install skillery-cli
15
+ ```
16
+
17
+ После установки доступна команда `skillery`:
18
+
19
+ ```bash
20
+ skillery --help
21
+ ```
22
+
23
+ > Прежнее имя команды `skills-hub` оставлено как совместимость и лишь
24
+ > подсказывает перейти на `skillery`.
25
+
26
+ ## Quickstart
27
+
28
+ ```bash
29
+ # Онбординг: зарегистрироваться самому либо принять инвайт-ссылку/токен.
30
+ skillery register
31
+ skillery join <ссылка-или-токен>
32
+ # либо, если уже есть учётка:
33
+ skillery login --email me@example.com --password ...
34
+
35
+ # Посмотреть доступные навыки (доступ фильтруется правами):
36
+ skillery list
37
+ skillery collections # кураторские подборки
38
+
39
+ # Навыки ставятся в центральный стор (~/.skillery/store) и линкуются junction/
40
+ # symlink. Дефолтный scope — project (текущая папка).
41
+ skillery install bitrix24 # → стор + ссылка в ./.claude/skills
42
+ skillery install bitrix24 --scope global # → стор + ссылка в ~/.claude/skills
43
+
44
+ # Автономно — без хаба, из локальной папки или git (логин не нужен):
45
+ skillery install --path ./my-skill
46
+ skillery install --from-git <url> --ref v1.0.0
47
+
48
+ # Динамический набор проекта:
49
+ skillery enable wb-api # включить в текущем проекте
50
+ skillery disable wb-api # выключить (стор цел)
51
+ skillery sync # применить манифест проекта
52
+ skillery store list # что в сторе
53
+
54
+ # Обновить установленные навыки:
55
+ skillery update --all
56
+ ```
57
+
58
+ ## Установка под всех агентов
59
+
60
+ CLI автодетектит установленного агента (Claude Code / Codex) по наличию
61
+ `~/.claude` или `~/.codex` и кладёт навыки в правильный каталог. Можно
62
+ форсировать конкретного агента или поставить сразу под всех:
63
+
64
+ ```bash
65
+ skillery install bitrix24 --agent codex
66
+ skillery install bitrix24 --all-agents
67
+ ```
68
+
69
+ ## Оценки, комментарии, тикеты, коллекции
70
+
71
+ После логина (по правам) доступны:
72
+
73
+ ```bash
74
+ # Оценить навык (1..5) и посмотреть сводку:
75
+ skillery rate bitrix24 5
76
+ skillery rating-summary bitrix24
77
+
78
+ # Комментарий (с необязательным скриншотом):
79
+ skillery comment bitrix24 "работает в облаке" --screenshot ~/proof.png
80
+ skillery comments bitrix24 --limit 25
81
+
82
+ # Тикеты в поддержку:
83
+ skillery ticket create "OAuth ломается" --skill bitrix24 --kind bug
84
+ skillery tickets list --status open
85
+
86
+ # Коллекции (просмотр из CLI):
87
+ skillery collections list --type dynamic
88
+ skillery collection show popular
89
+ ```
90
+
91
+ ## Онбординг проекта
92
+
93
+ ```bash
94
+ # Детект стека (python / nodejs / nextjs / react / docker / terraform / go /
95
+ # rust / claude-code) → подбор навыков → включение в проект.
96
+ skillery onboard --yes
97
+ ```
98
+
99
+ ## Event tracking + daemon
100
+
101
+ CLI не шлёт события синхронно: он кладёт их в локальную очередь
102
+ (`~/.skillery/events.queue.json`) — сбой записи никогда не ломает команду.
103
+ Отдельный демон периодически берёт batch и отправляет его на бэкенд.
104
+
105
+ ```bash
106
+ skillery event queue --show # что в локальной очереди
107
+ skillery daemon start # запустить фоновый sender
108
+ skillery daemon status # alive + последний цикл + размер очереди
109
+ skillery daemon install # сгенерировать autostart-юнит (launchd / systemd / Task Scheduler)
110
+ ```
111
+
112
+ `daemon install` не трогает system-wide настройки — он лишь пишет unit-файл в
113
+ user-scope и печатает инструкцию по активации. Это безопасно для CI и
114
+ разделяемых окружений. Отправка событий работает и анонимно: протухшая сессия
115
+ не глушит телеметрию автономного CLI.
116
+
117
+ ## Конфиг
118
+
119
+ `~/.skillery/config.toml`:
120
+
121
+ ```toml
122
+ base_url = "https://hub.example.com"
123
+ web_ui_url = "https://hub.example.com/app"
124
+ output_format = "text" # text | json
125
+ auto_update = false # true → тихо обновляет навыки при следующей команде
126
+ default_install_scope = "project" # project | global
127
+ # store_dir = "~/.skillery/store" # центральный стор (env: SKILLS_HUB_STORE_DIR)
128
+ ```
129
+
130
+ Токены (access + refresh) хранятся в **OS keyring**:
131
+
132
+ - Windows — Credential Manager;
133
+ - macOS — Keychain;
134
+ - Linux — Secret Service (GNOME Keyring, KWallet, …).
135
+
136
+ Установки со старым каталогом `~/.skills-hub` подхватываются автоматически и
137
+ мигрируются в `~/.skillery` при первой записи.
138
+
139
+ ## Профили
140
+
141
+ `~/.skillery/profiles/staging.toml` + `--profile staging` — отдельный backend и
142
+ отдельные токены для другой среды.
143
+
144
+ ## Вывод: text | json
145
+
146
+ По умолчанию команды печатают человекочитаемый текст. Флаг `--json` (или
147
+ `output_format = "json"` в конфиге) переключает вывод в JSON Lines — удобно для
148
+ скриптов и агентов: результат идёт в stdout, сообщения и ошибки — в stderr.
149
+
150
+ ## Лицензия
151
+
152
+ MIT — см. [LICENSE](LICENSE).
@@ -0,0 +1,2 @@
1
+ {"event": "warn", "message": "secret-scan via regex fallback (gitleaks not installed)", "backend": "regex"}
2
+ {"event": "info", "message": "secret-scan: чисто (regex, 0 находок)", "backend": "regex", "findings": 0}