feat: Add templates for epics, product brief, and requirements PRD

- Introduced a comprehensive template for generating epics and stories, including an index and individual epic files.
- Created a product brief template to outline product vision, problem statements, and target users.
- Developed a requirements PRD template to structure functional and non-functional requirements, including traceability and prioritization.
- Implemented ast-grep processors for JavaScript and TypeScript to extract relationships such as imports and inheritance.
- Added corresponding patterns for JavaScript and TypeScript to support relationship extraction.
- Established comparison tests to validate the accuracy of relationship extraction between tree-sitter and ast-grep methods.
This commit is contained in:
catlog22
2026-02-18 12:02:02 +08:00
parent 9ebcc43055
commit f0dda075f0
37 changed files with 10324 additions and 30 deletions

View File

@@ -84,6 +84,21 @@ class TestConfigCascadeDefaults:
# Should keep the default "binary" strategy
assert config.cascade_strategy == "binary"
def test_hybrid_cascade_strategy_alias_maps_to_binary_rerank(self, temp_config_dir):
"""Hybrid is a backward-compat alias for binary_rerank."""
config = Config(data_dir=temp_config_dir)
settings = {"cascade": {"strategy": "hybrid"}}
settings_path = config.settings_path
settings_path.parent.mkdir(parents=True, exist_ok=True)
with open(settings_path, "w", encoding="utf-8") as f:
json.dump(settings, f)
with patch.object(config, "_apply_env_overrides"):
config.load_settings()
assert config.cascade_strategy == "binary_rerank"
def test_staged_config_defaults(self, temp_config_dir):
"""Staged cascade settings should have correct defaults."""
config = Config(data_dir=temp_config_dir)