Scaffold the standalone Rust Apollo CLI
area/openapifeature requestagentic-workflows
## Background
Refs #5624.
This is the first implementation task for Apollo CLI v0. It should create the standalone Rust CLI foundation that later auth/profile, OpenAPI, and command UX work can build on.
## Goal
Scaffold a standalone Rust CLI named `apollo` with the minimum project structure, command framework, test setup, and CI/release foundations needed for later phases.
## Proposed scope
- Create a standalone Rust CLI project for the `apollo` executable.
- Choose and document the command-line framework, for example `clap` or an equivalent Rust CLI framework.
- Add top-level command routing for the planned v0 groups:
- `auth`
- `profile`
- `app`
- `env`
- `namespace`
- `config`
- `release`
- `api`
- Add global flags that can be wired later:
- `--profile`
- `--server`
- `--output json|table`
- `--yes`
- Add a basic output abstraction so commands do not print ad hoc strings directly.
- Add a basic error abstraction so structured errors can be added consistently.
- Add unit test and integration test scaffolding.
- Add developer documentation for local build/test commands.
## Out of scope
- Calling Apollo OpenAPI endpoints.
- Implementing token storage.
- Implementing full command behavior beyond skeleton commands.
- Implementing agent session authorization, MCP, or any Apollo server-side changes.
## Acceptance criteria
- `apollo --help` works and shows the planned v0 command groups.
- Global flags are parsed consistently.
- Placeholder command handlers return structured placeholder errors rather than panics.
- The project has documented build and test commands.
- CI can run formatting, linting, and tests for the Rust CLI.
- No deprecated Portal WebAPI path is introduced.
1 条评论