ocpncord-backend-opencode 0.1.1

no_std opencode HTTP Backend implementation for ocpncord.
docs.rs failed to build ocpncord-backend-opencode-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

ocpncord

no_std+alloc ocpncord TUI client for opencode, the AI coding agent.

Connects to a running opencode serve instance over HTTP. Targets desktop (tokio + crossterm) and embedded terminals with a TUI display.

Workspace

Crate Role no_std Publishable
ocpncord-backend Backend trait + streaming types + JSON contract types + mock backend yes yes
ocpncord-backend-opencode HTTP implementation via reqwless over any TCP transport yes yes
ocpncord-tui Ratatui widgets, platform-agnostic key events yes yes
ocpncord-native Binary: tokio + crossterm no yes

Quick start

# start an opencode server
opencode serve --port 4096

# run the TUI (another terminal)
cargo run -p ocpncord-native

The native binary defaults to http://localhost:4096.

Architecture

The Backend trait in ocpncord-backend abstracts the opencode server protocol. The TUI depends only on this trait — it never imports ocpncord-backend-opencode directly. This lets you test the TUI with MockBackend (feature mock) or swap in a different transport for embedded targets.

                    ┌──────────┐
                    │  native  │  (tokio + crossterm, binary only)
                    └────┬─────┘
                         │
              ┌──────────┴──────────┐
               │    ocpncord-tui     │  (ratatui widgets, no_std)
              └──────────┬──────────┘
                         │
              ┌──────────┴──────────┐
               │  ocpncord-backend   │  (Backend trait, no_std)
              └──────────┬──────────┘
                    ┌────┴────┐
                    │  HTTP   │   (ocpncord-backend-opencode)
                    │  Mock   │   (backend mock feature, for tests)
                    └─────────┘

Using the crates

# Backend trait, streaming types, and JSON contract types (no_std)
ocpncord-backend = "0.1"

# HTTP backend (reqwless, no_std)
ocpncord-backend-opencode = "0.1"

Status

The Backend trait and HTTP implementation are complete (14/14 integration tests passing). The TUI is under active development — see .scratch/tui-implementation/PRD.md.

License

AGPL-3.0-only