Skip to content

Epic: CLI v0 (Phase 1) #40

Description

@Sootopolis

Goal

Ship ccas as a real CLI binary, backed by an explicit local CcasServer process. Single user, no auth, loopback only. CLI = thin HTTP client.

Why

Today CCAS is seven ZIOAppDefault apps. Running two concurrently means two independent ChessComClient instances with no shared rate limit. The CLI shape collapses everything onto one server-mediated path so the rate limiter stays singular, and sets up the foundation for the OAuth phase that follows.

Open decisions

Dependency graph

flowchart LR
  classDef ready  fill:#d4edda,stroke:#28a745,color:#000
  classDef next   fill:#fff3cd,stroke:#ffc107,color:#000
  classDef final  fill:#f8d7da,stroke:#dc3545,color:#000
  classDef decide fill:#e7e1ff,stroke:#6f42c1,color:#000,stroke-dasharray:5 3
  classDef done   fill:#e2e3e5,stroke:#6c757d,color:#000,stroke-dasharray:0
  P1["#41 Packaging"]:::done
  P4["#45 seed global schedules"]:::done
  P6["#42 JobLogTransport refactor"]:::done
  P7["#43 CLI config file"]:::done
  P8["#44 GET /api/clubs"]:::done
  P2["#46 decline subcommands"]:::done
  P5["#47 File-tail logs endpoint"]:::done
  P3["#48 ccas serve lifecycle"]:::done
  P9["#49 Shell completions"]:::done
  D1["#50 Decide: user-facing vs internal JobKinds"]:::decide
  P1 --> P2
  P2 --> P3
  P2 --> P9
  P6 --> P5
  P8 --> P9
  D1 -.affects.-> P2
  D1 -.affects.-> P4
Loading

Green = no open deps; amber = unblocked once a green closes; red = final tier; purple dashed = decision pending; grey = done.

Sub-issues

Start here (no open dependencies)

Follow-ups

Done when

  • All sub-issues closed.
  • bin/ccas membership team-alpha runs end to end locally with live progress streaming.
  • bin/ccas serve --detach + bin/ccas stop round-trip cleanly.
  • Tab completion for ccas and ccas membership works in bash and zsh.

Reference

Full roadmap: ~/.claude/plans/ultra-sparkling-unicorn.md, section "Phase 1 — Local CLI ↔ local server".

Maintenance

When a sub-issue closes:

  1. Tick its box above.
  2. Move any of its dependents from a later tier into "Start here" if they have no other open deps.
  3. Update the mermaid graph node colours.

Edits to this body should happen mid-session, not as homework.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:cliCLI binary (subcommands, completions, config, packaging)enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions