codexspec 0.4.6__tar.gz → 0.4.7__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 (58) hide show
  1. {codexspec-0.4.6 → codexspec-0.4.7}/PKG-INFO +1 -1
  2. {codexspec-0.4.6 → codexspec-0.4.7}/pyproject.toml +1 -1
  3. {codexspec-0.4.6 → codexspec-0.4.7}/src/codexspec/__init__.py +2 -1
  4. {codexspec-0.4.6 → codexspec-0.4.7}/src/codexspec/commands/installer.py +40 -1
  5. {codexspec-0.4.6 → codexspec-0.4.7}/.gitignore +0 -0
  6. {codexspec-0.4.6 → codexspec-0.4.7}/LICENSE +0 -0
  7. {codexspec-0.4.6 → codexspec-0.4.7}/README.md +0 -0
  8. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/bash/check-i18n-completeness.sh +0 -0
  9. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/bash/check-i18n-structure.sh +0 -0
  10. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/bash/check-prerequisites.sh +0 -0
  11. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/bash/common.sh +0 -0
  12. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/bash/create-new-feature.sh +0 -0
  13. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/powershell/check-prerequisites.ps1 +0 -0
  14. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/powershell/common.ps1 +0 -0
  15. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/powershell/create-new-feature.ps1 +0 -0
  16. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/python/README.md +0 -0
  17. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/python/claude_monitor.py +0 -0
  18. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/python/notify_telegram.py +0 -0
  19. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/python/tests/__init__.py +0 -0
  20. {codexspec-0.4.6 → codexspec-0.4.7}/scripts/python/tests/test_notify.py +0 -0
  21. {codexspec-0.4.6 → codexspec-0.4.7}/src/codexspec/commands/__init__.py +0 -0
  22. {codexspec-0.4.6 → codexspec-0.4.7}/src/codexspec/i18n.py +0 -0
  23. {codexspec-0.4.6 → codexspec-0.4.7}/src/codexspec/idea.md +0 -0
  24. {codexspec-0.4.6 → codexspec-0.4.7}/src/codexspec/translator.py +0 -0
  25. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/analyze.md +0 -0
  26. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/check-i18n-semantics.md +0 -0
  27. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/checklist.md +0 -0
  28. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/clarify.md +0 -0
  29. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/commit-staged.md +0 -0
  30. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/commit.md +0 -0
  31. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/constitution.md +0 -0
  32. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/generate-spec.md +0 -0
  33. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/implement-tasks.md +0 -0
  34. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/plan-to-tasks.md +0 -0
  35. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/pr.md +0 -0
  36. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/review-plan.md +0 -0
  37. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/review-spec.md +0 -0
  38. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/review-tasks.md +0 -0
  39. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/spec-to-plan.md +0 -0
  40. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/specify.md +0 -0
  41. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/tasks-to-issues.md +0 -0
  42. {codexspec-0.4.6 → codexspec-0.4.7}/templates/commands/translate-docs.md +0 -0
  43. {codexspec-0.4.6 → codexspec-0.4.7}/templates/docs/checklist-template.md +0 -0
  44. {codexspec-0.4.6 → codexspec-0.4.7}/templates/docs/constitution-template.md +0 -0
  45. {codexspec-0.4.6 → codexspec-0.4.7}/templates/docs/plan-template-detailed.md +0 -0
  46. {codexspec-0.4.6 → codexspec-0.4.7}/templates/docs/plan-template-simple.md +0 -0
  47. {codexspec-0.4.6 → codexspec-0.4.7}/templates/docs/spec-template-detailed.md +0 -0
  48. {codexspec-0.4.6 → codexspec-0.4.7}/templates/docs/spec-template-simple.md +0 -0
  49. {codexspec-0.4.6 → codexspec-0.4.7}/templates/docs/tasks-template-detailed.md +0 -0
  50. {codexspec-0.4.6 → codexspec-0.4.7}/templates/docs/tasks-template-simple.md +0 -0
  51. {codexspec-0.4.6 → codexspec-0.4.7}/templates/translations/de.json +0 -0
  52. {codexspec-0.4.6 → codexspec-0.4.7}/templates/translations/en.json +0 -0
  53. {codexspec-0.4.6 → codexspec-0.4.7}/templates/translations/es.json +0 -0
  54. {codexspec-0.4.6 → codexspec-0.4.7}/templates/translations/fr.json +0 -0
  55. {codexspec-0.4.6 → codexspec-0.4.7}/templates/translations/ja.json +0 -0
  56. {codexspec-0.4.6 → codexspec-0.4.7}/templates/translations/ko.json +0 -0
  57. {codexspec-0.4.6 → codexspec-0.4.7}/templates/translations/pt-BR.json +0 -0
  58. {codexspec-0.4.6 → codexspec-0.4.7}/templates/translations/zh-CN.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codexspec
3
- Version: 0.4.6
3
+ Version: 0.4.7
4
4
  Summary: CodexSpec - A Spec-Driven Development (SDD) toolkit for Claude Code
5
5
  Project-URL: Homepage, https://github.com/Zts0hg/codexspec
6
6
  Project-URL: Repository, https://github.com/Zts0hg/codexspec
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codexspec"
3
- version = "0.4.6"
3
+ version = "0.4.7"
4
4
  description = "CodexSpec - A Spec-Driven Development (SDD) toolkit for Claude Code"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -22,6 +22,7 @@ from .commands.installer import (
22
22
  COMMANDS_SUBDIR,
23
23
  detect_old_structure,
24
24
  get_commands_metadata,
25
+ get_installed_commands_metadata,
25
26
  install_commands_to_subdir,
26
27
  migrate_old_commands,
27
28
  should_update_commands,
@@ -340,7 +341,7 @@ def list_commands() -> None:
340
341
  # Get user's language preference
341
342
  language = get_project_language()
342
343
 
343
- metadata = get_commands_metadata()
344
+ metadata = get_installed_commands_metadata()
344
345
 
345
346
  # Group by category
346
347
  categories: dict[str, list] = {
@@ -8,7 +8,7 @@ import shutil
8
8
  from pathlib import Path
9
9
  from typing import Optional, TypedDict
10
10
 
11
- from codexspec.translator import load_translation_cache, translate_template_frontmatter
11
+ from codexspec.translator import extract_frontmatter_fields, load_translation_cache, translate_template_frontmatter
12
12
 
13
13
  # Constants
14
14
  COMMANDS_SUBDIR = "codexspec" # Subdirectory name for commands
@@ -163,6 +163,45 @@ def get_commands_metadata() -> list[CommandMetadata]:
163
163
  ]
164
164
 
165
165
 
166
+ def get_installed_commands_metadata() -> list[CommandMetadata]:
167
+ """Get metadata from installed command files with fallback to defaults.
168
+
169
+ This function reads the frontmatter from installed command files to get
170
+ translated descriptions. If a command file doesn't exist or doesn't have
171
+ a description in its frontmatter, falls back to the hardcoded default.
172
+
173
+ Returns:
174
+ List of CommandMetadata with descriptions from installed files when available.
175
+ """
176
+ # Get hardcoded default metadata
177
+ default_metadata = get_commands_metadata()
178
+
179
+ # Find installed commands directory
180
+ commands_dir = Path.cwd() / ".claude" / "commands" / COMMANDS_SUBDIR
181
+
182
+ if not commands_dir.exists():
183
+ return default_metadata
184
+
185
+ result = []
186
+ for cmd in default_metadata:
187
+ cmd_file = commands_dir / cmd["file_name"]
188
+
189
+ if cmd_file.exists():
190
+ # Read frontmatter from installed file
191
+ content = cmd_file.read_text(encoding="utf-8")
192
+ fields = extract_frontmatter_fields(content)
193
+
194
+ if fields.get("description"):
195
+ # Use translated description from installed file
196
+ result.append({**cmd, "description": fields["description"]})
197
+ else:
198
+ result.append(cmd)
199
+ else:
200
+ result.append(cmd)
201
+
202
+ return result
203
+
204
+
166
205
  def detect_old_structure(claude_dir: Path) -> list[Path]:
167
206
  """Detect old structure command files that need migration.
168
207
 
File without changes
File without changes
File without changes