6d9ba21804fbbaad29e7434c9db7eae7bcc98fb1
feat: scaffold nani CLI + MCP server (#2) Closes #1
nani
CLI and MCP server for config.saiden.dev — secrets, config, and file management.
Install
cargo install --path .
Auth
nani auth <api-key> # store key to ~/.config/nani/config.json
nani auth show # show current config (masked key)
Or set NANI_API_KEY environment variable.
Usage
# Projects
nani ls # list all projects
nani projects set <project> --gitea <url> # set project metadata
nani projects rm <project> # delete project
# Secrets
nani ls <project> <env> # list keys
nani get <project> <env> <key> # get secret
nani set <project> <env> <key> <value> # set secret
nani set <project> <env> <key> -f <file> # set from file
nani rm <project> <env> <key> # delete secret
# Files
nani files ls <project> <env> # list files
nani files get <project> <env> <path> # download file
nani files put <project> <env> <path> -f <file> # upload file
nani files rm <project> <env> <path> # delete file
Global flags
| Flag | Description |
|---|---|
--json |
Structured JSON output (M2M mode) |
--plain |
Raw value only, no decoration (for piping) |
--silent |
No stdout, exit code only (0=ok, 1=error, 2=not-found) |
--dry-run |
Show HTTP request without executing |
--url <base> |
Override base URL |
--api-key <key> |
Override API key (one-shot) |
MCP Server
nani mcp-server
Exposes tools over stdio JSON-RPC: nani_get, nani_set, nani_list, nani_delete, nani_file_get, nani_file_put.
Config
- File:
~/.config/nani/config.json NANI_API_KEYenv var overrides config fileNANI_URLenv var overrides base URL
Description
Languages
Rust
100%