Includes AirPlan design documents, AircOding-alpha1-plan, AirPlanV2, AirPlan-ParaV2, AirPlan-Para V1 reference docs, and all working code changes across packages. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
132 lines
3.3 KiB
Python
Executable File
132 lines
3.3 KiB
Python
Executable File
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
AIRPLAN_DIRNAME = "AirPlan"
|
|
|
|
|
|
def airplan_root(project_root: Path) -> Path:
|
|
return project_root / AIRPLAN_DIRNAME
|
|
|
|
|
|
def docs_root(project_root: Path) -> Path:
|
|
return airplan_root(project_root) / "docs"
|
|
|
|
|
|
def state_root(project_root: Path) -> Path:
|
|
return airplan_root(project_root) / "state"
|
|
|
|
|
|
def agents_path(project_root: Path) -> Path:
|
|
return airplan_root(project_root) / "AGENTS.md"
|
|
|
|
|
|
def root_agents_bootstrap_path(project_root: Path) -> Path:
|
|
return project_root / "AGENTS.md"
|
|
|
|
|
|
def plan_path(project_root: Path) -> Path:
|
|
return airplan_root(project_root) / "plan.md"
|
|
|
|
|
|
def todo_path(project_root: Path) -> Path:
|
|
return airplan_root(project_root) / "todo.md"
|
|
|
|
|
|
def analysis_requirements_path(project_root: Path) -> Path:
|
|
return docs_root(project_root) / "analysis" / "requirements.md"
|
|
|
|
|
|
def architecture_root(project_root: Path) -> Path:
|
|
return docs_root(project_root) / "architecture"
|
|
|
|
|
|
def architecture_solution_path(project_root: Path) -> Path:
|
|
return architecture_root(project_root) / "solution-architecture.md"
|
|
|
|
|
|
def architecture_adr_dir(project_root: Path) -> Path:
|
|
return architecture_root(project_root) / "adr"
|
|
|
|
|
|
def architecture_c4_module_path(project_root: Path) -> Path:
|
|
return architecture_root(project_root) / "c4" / "module.md"
|
|
|
|
|
|
def debug_root(project_root: Path) -> Path:
|
|
return docs_root(project_root) / "debug"
|
|
|
|
|
|
def debug_log_path(project_root: Path) -> Path:
|
|
return debug_root(project_root) / "debug-log.md"
|
|
|
|
|
|
def gui_debug_log_path(project_root: Path) -> Path:
|
|
return debug_root(project_root) / "gui-debug-log.md"
|
|
|
|
|
|
def airxdb_artifacts_dir(project_root: Path) -> Path:
|
|
return debug_root(project_root) / "airxdb-artifacts"
|
|
|
|
|
|
def network_root(project_root: Path) -> Path:
|
|
return docs_root(project_root) / "network"
|
|
|
|
|
|
def airndb_log_path(project_root: Path) -> Path:
|
|
return network_root(project_root) / "airndb-log.md"
|
|
|
|
|
|
def airndb_captures_dir(project_root: Path) -> Path:
|
|
return network_root(project_root) / "airndb-captures"
|
|
|
|
|
|
def validation_root(project_root: Path) -> Path:
|
|
return docs_root(project_root) / "validation"
|
|
|
|
|
|
def staticanalysis_path(project_root: Path) -> Path:
|
|
return docs_root(project_root) / "staticanalysis.md"
|
|
|
|
|
|
def plugin_state_root(project_root: Path, plugin_name: str) -> Path:
|
|
return state_root(project_root) / plugin_name
|
|
|
|
|
|
def airarc_root(project_root: Path) -> Path:
|
|
return plugin_state_root(project_root, "airarc")
|
|
|
|
|
|
def aireng_root(project_root: Path) -> Path:
|
|
return plugin_state_root(project_root, "aireng")
|
|
|
|
|
|
def airdo_root(project_root: Path) -> Path:
|
|
return plugin_state_root(project_root, "airdo")
|
|
|
|
|
|
def airdbg_root(project_root: Path) -> Path:
|
|
return plugin_state_root(project_root, "airdbg")
|
|
|
|
|
|
def airndb_root(project_root: Path) -> Path:
|
|
return plugin_state_root(project_root, "airndb")
|
|
|
|
|
|
def airsdb_root(project_root: Path) -> Path:
|
|
return plugin_state_root(project_root, "airsdb")
|
|
|
|
|
|
def airxdb_root(project_root: Path) -> Path:
|
|
return plugin_state_root(project_root, "airxdb")
|
|
|
|
|
|
def required_project_artifacts() -> tuple[str, ...]:
|
|
return (
|
|
"AirPlan/AGENTS.md",
|
|
"AirPlan/docs/architecture/adr",
|
|
"AirPlan/docs/architecture/c4/module.md",
|
|
"AirPlan/plan.md",
|
|
"AirPlan/todo.md",
|
|
)
|