codd-dev 0.2.0a2__tar.gz → 0.2.0a4__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 (25) hide show
  1. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/PKG-INFO +1 -1
  2. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/cli.py +14 -1
  3. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/generator.py +5 -1
  4. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/pyproject.toml +1 -1
  5. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/.gitignore +0 -0
  6. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/LICENSE +0 -0
  7. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/README.md +0 -0
  8. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/__init__.py +0 -0
  9. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/config.py +0 -0
  10. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/defaults.yaml +0 -0
  11. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/graph.py +0 -0
  12. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/hooks.py +0 -0
  13. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/implementer.py +0 -0
  14. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/planner.py +0 -0
  15. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/propagate.py +0 -0
  16. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/scanner.py +0 -0
  17. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/templates/codd.yaml.tmpl +0 -0
  18. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/templates/conventions.yaml.tmpl +0 -0
  19. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/templates/data_dependencies.yaml.tmpl +0 -0
  20. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/templates/doc_links.yaml.tmpl +0 -0
  21. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/templates/gitignore.tmpl +0 -0
  22. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/templates/overrides.yaml.tmpl +0 -0
  23. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/validator.py +0 -0
  24. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/codd/verifier.py +0 -0
  25. {codd_dev-0.2.0a2 → codd_dev-0.2.0a4}/hooks/pre-commit +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codd-dev
3
- Version: 0.2.0a2
3
+ Version: 0.2.0a4
4
4
  Summary: CoDD: Coherence-Driven Development — cross-artifact change impact analysis
5
5
  Project-URL: Homepage, https://github.com/yohey-w/codd-dev
6
6
  Project-URL: Repository, https://github.com/yohey-w/codd-dev
@@ -94,7 +94,7 @@ def impact(diff: str, path: str, output: str):
94
94
  )
95
95
  def generate(wave: int, path: str, force: bool, ai_cmd: str | None):
96
96
  """Generate CoDD documents for a specific wave."""
97
- from codd.generator import generate_wave
97
+ from codd.generator import generate_wave, _load_project_config
98
98
 
99
99
  project_root = Path(path).resolve()
100
100
  codd_dir = project_root / "codd"
@@ -103,6 +103,19 @@ def generate(wave: int, path: str, force: bool, ai_cmd: str | None):
103
103
  click.echo("Error: codd/ not found. Run 'codd init' first.")
104
104
  raise SystemExit(1)
105
105
 
106
+ # Auto-generate wave_config if missing
107
+ config = _load_project_config(project_root)
108
+ if not config.get("wave_config"):
109
+ click.echo("wave_config not found. Auto-generating from requirements...")
110
+ from codd.planner import plan_init
111
+
112
+ try:
113
+ result = plan_init(project_root, ai_command=ai_cmd)
114
+ click.echo(f"wave_config generated from {len(result.requirement_paths)} requirement(s)")
115
+ except (FileNotFoundError, ValueError) as exc:
116
+ click.echo(f"Error auto-generating wave_config: {exc}")
117
+ raise SystemExit(1)
118
+
106
119
  try:
107
120
  results = generate_wave(project_root, wave, force=force, ai_command=ai_cmd)
108
121
  except (FileNotFoundError, ValueError) as exc:
@@ -156,7 +156,11 @@ def _load_project_config(project_root: Path) -> dict[str, Any]:
156
156
  def _load_wave_artifacts(config: dict[str, Any]) -> list[WaveArtifact]:
157
157
  wave_config = config.get("wave_config")
158
158
  if not isinstance(wave_config, dict) or not wave_config:
159
- raise ValueError("codd.yaml is missing wave_config")
159
+ raise ValueError(
160
+ "codd.yaml is missing wave_config. "
161
+ "Run 'codd plan --init' to generate it from your requirements, "
162
+ "or 'codd generate' will auto-generate it for you."
163
+ )
160
164
 
161
165
  artifacts: list[WaveArtifact] = []
162
166
  for wave_key, entries in wave_config.items():
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "codd-dev"
7
- version = "0.2.0a2"
7
+ version = "0.2.0a4"
8
8
  description = "CoDD: Coherence-Driven Development — cross-artifact change impact analysis"
9
9
  readme = "README.md"
10
10
  license = "MIT"
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