diff --git a/docs/00 INBOX/ai/ariadne-cli-skeleton.md b/docs/00 INBOX/ai/ariadne-cli-skeleton.md deleted file mode 100644 index d473eb0..0000000 --- a/docs/00 INBOX/ai/ariadne-cli-skeleton.md +++ /dev/null @@ -1,64 +0,0 @@ -# Ariadne CLI skeleton - -## Scope - -Build only the CLI scaffolding and boilerplate first. -Do not implement Clew AST import in this slice. -Do not add route planning in this slice. -Do not add Bazel tests in this slice. - -## Dependency setup - -Use `clap` for CLI parsing. -Vendor `clap` in a separate prerequisite commit. -Add the CLI skeleton in a follow-up commit. - -## Command shape - -The first CLI has no subcommands. -The default command runs all declared stages. - -Example: - -```sh -ariadne --output-dir output/ -``` - -Use `--output-dir`, not `--output_dir`, unless project convention later requires underscores. - -## Stage model - -Model stages with a manually written typed `Stage` enum for now. -Defer compile-time generation until duplication creates a real problem. - -A stage has: - -- a name; -- prerequisites. - -Stage execution can use dispatch logic instead of a common trait. -The graph type stays stable across all stages. - -## Pipeline behavior - -Running all stages runs each declared stage in dependency order. -A future targeted stage command will also run its prerequisites first. - -Each stage writes artifacts under: - -```text -/graph// -``` - -`graph` is a literal directory name. -It is not a parameter. - -A stage skips when its stage output already exists. -`--force` makes every invoked stage overwrite its output. -With `--force`, Ariadne removes each invoked stage output directory before it runs that stage. - -## Deferred questions - -- Decide whether stage outputs need success markers. -- Decide whether stage names use kebab-case in output paths. -- Decide how future targeted stage invocation appears in the CLI.