Files
AirCoding/AirPlan/docs/spec/AirPlan-ParaV2/lib/air_runtime/paths.py
AirCoding ae44be31d5 chore: push all design docs, V2 plan specs, and current working state
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>
2026-06-12 17:12:29 +08:00

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",
)