lazyopencode 0.2.2__py3-none-any.whl → 0.2.3__py3-none-any.whl

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.
lazyopencode/_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.2.2'
32
- __version_tuple__ = version_tuple = (0, 2, 2)
31
+ __version__ = version = '0.2.3'
32
+ __version_tuple__ = version_tuple = (0, 2, 3)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -218,7 +218,12 @@ class ConfigDiscoveryService:
218
218
  def _discover_skills(
219
219
  self, base_path: Path, level: ConfigLevel
220
220
  ) -> list[Customization]:
221
- """Discover skill customizations from .opencode/skill/ or skills/."""
221
+ """Discover skill customizations from .opencode/skill/ or skills/.
222
+
223
+ Also discovers from agent-compatible paths (.agents/skill[s]/)
224
+ and Claude-compatible paths (.claude/skill[s]/) per OpenCode docs:
225
+ https://opencode.ai/docs/skills/#place-files
226
+ """
222
227
  customizations = []
223
228
  parser = self._parsers[CustomizationType.SKILL]
224
229
 
@@ -241,8 +246,45 @@ class ConfigDiscoveryService:
241
246
  if parser.can_parse(skill_file):
242
247
  customizations.append(parser.parse(skill_file, level))
243
248
 
249
+ # Discover from agent-compatible paths (.agents/skill[s]/)
250
+ self._discover_skills_from_compat_roots(
251
+ customizations, parser, level, ".agents"
252
+ )
253
+
244
254
  return customizations
245
255
 
256
+ def _discover_skills_from_compat_roots(
257
+ self,
258
+ customizations: list[Customization],
259
+ parser: object,
260
+ level: ConfigLevel,
261
+ compat_dir: str,
262
+ ) -> None:
263
+ """Discover skills from a compatibility root directory.
264
+
265
+ At PROJECT level: scans <project_root>/<compat_dir>/skill[s]/*/SKILL.md
266
+ At GLOBAL level: scans ~/<compat_dir>/skill[s]/*/SKILL.md
267
+
268
+ Args:
269
+ customizations: List to append discovered skills to
270
+ parser: Skill parser instance
271
+ level: Configuration level (GLOBAL or PROJECT)
272
+ compat_dir: Compatibility directory name (e.g., ".agents")
273
+ """
274
+ if level == ConfigLevel.PROJECT:
275
+ compat_base = self.project_root / compat_dir
276
+ else:
277
+ compat_base = Path.home() / compat_dir
278
+
279
+ for skills_path in self._get_path_variants(compat_base, "skill"):
280
+ for skill_dir in skills_path.iterdir():
281
+ if skill_dir.is_dir():
282
+ skill_file = skill_dir / "SKILL.md"
283
+ if parser.can_parse(skill_file): # type: ignore[attr-defined]
284
+ customizations.append(
285
+ parser.parse(skill_file, level) # type: ignore[attr-defined]
286
+ )
287
+
246
288
  def _discover_rules(self, level: ConfigLevel) -> list[Customization]:
247
289
  """Discover AGENTS.md rules files."""
248
290
  customizations = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lazyopencode
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: A lazygit-style TUI for visualizing OpenCode customizations
5
5
  Project-URL: Homepage, https://github.com/nikiforovall/lazyopencode
6
6
  Project-URL: Repository, https://github.com/nikiforovall/lazyopencode
@@ -1,6 +1,6 @@
1
1
  lazyopencode/__init__.py,sha256=roprUA5NQ0OsqJrG-XYGgCJYST5_M3oQNKSVrpDZM1E,1558
2
2
  lazyopencode/__main__.py,sha256=8sGwTbHrRZyACIYWqpMRP76sq7fTBeJSj-VOAd6hUKE,120
3
- lazyopencode/_version.py,sha256=o3ZTescp-19Z9cvBGq9dQnbppljgzdUYUf98Nov0spY,704
3
+ lazyopencode/_version.py,sha256=kBRz0P2plw1eVdIpt70W6m1LMbEIhLY3RyOfVGdubaI,704
4
4
  lazyopencode/app.py,sha256=L7fpKK8VO7NduLvdgGQlROAfxo7O7D_RpVtxCXgICq8,18137
5
5
  lazyopencode/bindings.py,sha256=nIcMU77LxjQQ2YsitSdmcODP9e3UGHqZyc8NCnTFQ4s,1394
6
6
  lazyopencode/themes.py,sha256=9KsyWlk9XeAupAdUTj785riWuDlQMnERjD8DUzogCPc,713
@@ -10,7 +10,7 @@ lazyopencode/mixins/navigation.py,sha256=RHA5J9Wn9nYjDmRglMagvn94OFTti8q3yuYI6bN
10
10
  lazyopencode/models/__init__.py,sha256=X2Wlkc6IS1nQF0JNTvqZNNLh6YI1SH-D5YP4xpWL-rc,298
11
11
  lazyopencode/models/customization.py,sha256=4Vu2lCaRT5icdzx01A83camsdOSVlu0t-q3CF9Tkt2A,4453
12
12
  lazyopencode/services/__init__.py,sha256=aCVZJecnMeupVU-T6EhR34dFu295XwJP9dqZ8MKWOJE,146
13
- lazyopencode/services/discovery.py,sha256=jGds8-eK-XNdofiGsJZoB89qK297-QiQCTG8KdlL-Gg,13865
13
+ lazyopencode/services/discovery.py,sha256=UeeXkPlHzyVs9w8w42Nqp0_idxtKxykg8xZiJN2d2I0,15555
14
14
  lazyopencode/services/gitignore_filter.py,sha256=9QFKrUsSm0kSSYXzJ3_Zx440Pk1T6CSo6eaoPP5Pthk,3155
15
15
  lazyopencode/services/writer.py,sha256=B9XZor9VH28P3Fo6sQ2HhT1Tj1eDq7Pcc8i-YpkYoGg,5328
16
16
  lazyopencode/services/claude_code/__init__.py,sha256=lMcoJR-x2eHR6ddvL3YbYT4xonGjKKFUdHwjBwEcaNg,310
@@ -40,8 +40,8 @@ lazyopencode/widgets/status_panel.py,sha256=k4lx4GrHlVUvt6t32_bz2WOWvZdPNawdSMhm
40
40
  lazyopencode/widgets/type_panel.py,sha256=wg2D5diKvdrwco7pvcUnF9WPOgTveiH1qt0O82gkqa4,19313
41
41
  lazyopencode/widgets/helpers/__init__.py,sha256=-jGrYtTMl9rmX8Q5Vod_oAuYaMl6Yh5JRwv8AFKQcwk,135
42
42
  lazyopencode/widgets/helpers/rendering.py,sha256=lgxzVsnH6fgTZss2x4n8hKYYtDN35YmFMD83impkpH8,576
43
- lazyopencode-0.2.2.dist-info/METADATA,sha256=mPX0spN6fevRATA6P-UgPBBHFgEmykc17mhqRlEiQsU,4243
44
- lazyopencode-0.2.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
45
- lazyopencode-0.2.2.dist-info/entry_points.txt,sha256=PPVT4NhHce2hFuMj-NQTSN9xQIM2jwb0_ojMEcOpPJ0,60
46
- lazyopencode-0.2.2.dist-info/licenses/LICENSE,sha256=KY9Pw3pDaLTe2eiMvUoj09VHhE3i8N1Le0d01JrG_3Q,1069
47
- lazyopencode-0.2.2.dist-info/RECORD,,
43
+ lazyopencode-0.2.3.dist-info/METADATA,sha256=kAmDDpZ_0GxA2RXHLvp_H-pWDZ4EYtB2n1uGLiK9Qho,4243
44
+ lazyopencode-0.2.3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
45
+ lazyopencode-0.2.3.dist-info/entry_points.txt,sha256=PPVT4NhHce2hFuMj-NQTSN9xQIM2jwb0_ojMEcOpPJ0,60
46
+ lazyopencode-0.2.3.dist-info/licenses/LICENSE,sha256=KY9Pw3pDaLTe2eiMvUoj09VHhE3i8N1Le0d01JrG_3Q,1069
47
+ lazyopencode-0.2.3.dist-info/RECORD,,