feat: scaffold nani CLI + MCP server #2

Merged
madcat merged 1 commits from feature/initial-build into main 2026-06-12 20:02:29 +00:00
Owner

Summary

Single Rust binary with three modes: human CLI, M2M, and MCP server.

HTTP client for config.saiden.dev REST API covering projects, secrets, and files.

What's included

  • CLI commands: auth, get, set, ls, rm, files (get/put/ls/rm), projects (set/rm), mcp-server
  • Global flags: --json, --plain, --silent, --dry-run, --url, --api-key
  • MCP server: stdio transport with tools nani_get, nani_set, nani_list, nani_delete, nani_file_get, nani_file_put
  • Config: ~/.config/nani/config.json + NANI_API_KEY/NANI_URL env vars

Tested against live API

  • nani get campus-os prod github-client-idIv23liPH08DvQJJpIkrO
  • nani ls campus-os prod → 19 keys ✓
  • nani ls → shows campus-os project ✓
  • --json outputs valid JSON ✓
  • --dry-run shows request without executing ✓
  • nani mcp-server responds to MCP initialize ✓
  • cargo build --release clean, zero warnings ✓

Closes #1

## Summary Single Rust binary with three modes: human CLI, M2M, and MCP server. HTTP client for config.saiden.dev REST API covering projects, secrets, and files. ## What's included - **CLI commands**: auth, get, set, ls, rm, files (get/put/ls/rm), projects (set/rm), mcp-server - **Global flags**: --json, --plain, --silent, --dry-run, --url, --api-key - **MCP server**: stdio transport with tools nani_get, nani_set, nani_list, nani_delete, nani_file_get, nani_file_put - **Config**: ~/.config/nani/config.json + NANI_API_KEY/NANI_URL env vars ## Tested against live API - `nani get campus-os prod github-client-id` → `Iv23liPH08DvQJJpIkrO` ✓ - `nani ls campus-os prod` → 19 keys ✓ - `nani ls` → shows campus-os project ✓ - `--json` outputs valid JSON ✓ - `--dry-run` shows request without executing ✓ - `nani mcp-server` responds to MCP initialize ✓ - `cargo build --release` clean, zero warnings ✓ Closes #1
madcat added 1 commit 2026-06-12 20:02:23 +00:00
Single Rust binary with three modes:
- Human CLI with colored output
- M2M mode (--json, --plain, --silent flags)
- MCP server over stdio (nani mcp-server)

HTTP client for config.saiden.dev REST API:
- Projects: list, set metadata, delete
- Secrets: get, set, list, delete
- Files: get, put, list, delete

Global flags: --json, --plain, --silent, --dry-run, --url, --api-key
Config: ~/.config/nani/config.json + NANI_API_KEY/NANI_URL env vars

MCP tools: nani_get, nani_set, nani_list, nani_delete, nani_file_get, nani_file_put

Dependencies: clap (derive), reqwest (rustls-tls), serde, tokio, rmcp, colored

Closes infra/nani#1
madcat merged commit 6d9ba21804 into main 2026-06-12 20:02:29 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: infra/nani#2