CLI
The NeuralRepo CLI (nrepo) lets you capture and manage ideas without leaving your terminal. It is fast, scriptable, and works seamlessly with developer workflows — including Claude Code.
Why Use the CLI?
Section titled “Why Use the CLI?”- Fast capture — push an idea in a single command, no context switching
- Scriptable — pipe output, use in shell scripts, integrate with CI/CD
- Works with Claude Code — Claude Code can invoke
nrepocommands directly in your development workflow - JSON output — parse results programmatically for automations
Installation
Section titled “Installation”Install the CLI globally via npm:
npm install -g @neuralconfig/nrepoVerify the installation:
nrepo --versionAuthentication
Section titled “Authentication”Log in using your browser — this is the easiest method:
nrepo loginYour browser opens GitHub sign-in, and the server hands a freshly minted API key back
to the CLI. It is stored in ~/.config/neuralrepo/config.json.
This flow works on every plan, so the CLI is usable without Pro.
For headless environments, CI/CD, scripting — or if you sign in to NeuralRepo with Google or a magic link rather than GitHub — paste a key instead:
nrepo login --api-key# Paste your API key when prompted: nrp_your_api_key_here--api-key is a bare flag: it prompts, it does not take the key as an argument. Generate
the key in Settings ▸ API Keys on the web dashboard (a Pro feature). Keys use the
format nrp_ followed by 64 hexadecimal characters.
Quick Push
Section titled “Quick Push”Capture an idea in a single command:
nrepo push "Build a habit tracker app" --body "Mobile-first, with streak tracking and reminders" --tag side-project --status exploringAll flags are optional except the title (the first positional argument):
| Flag | Description | Default |
|---|---|---|
--body <text> | Idea body text (Markdown) | (empty) |
--tag <tag> | Add a tag (repeatable) | (none) |
--status <status> | Set initial status | captured |
--json | JSON output | (human-readable) |
--human | Human-readable output — wins over --json | (default) |
The body is passed as a flag value, so quote it. Multi-line bodies work with a quoted string or your shell’s line continuation; there is no stdin mode.
Example with multiple tags
Section titled “Example with multiple tags”nrepo push "AI-powered code review tool" \ --tag ai \ --tag devtools \ --tag saas \ --status exploringOutput Modes
Section titled “Output Modes”Every command prints human-readable output by default, on any authentication method.
Pass --json for machine-parseable output — including errors, which become a single JSON
object on stderr with an error, a code, and (for API failures) a status.
# JSON output (useful for scripting)nrepo push "My idea" --json
# --human wins if both are passednrepo search "tracker" --json --humanHuman-readable output
Section titled “Human-readable output”Ideas print as one row each: number, status, a glyph for the capture source, title, tags, and — for search results — the relevance score.
✓ Idea captured#42 exploring ⬡ AI-powered code review tool [ai, devtools, saas]
Processing: embeddings, dedup, and auto-tagging queuedJSON output
Section titled “JSON output”{ "id": 42, "title": "AI-powered code review tool", "status": "exploring", "tags": ["ai", "devtools", "saas"], "source": "cli", "processing": true, "created_at": "2026-03-24T10:30:00Z"}Common Commands
Section titled “Common Commands”# Search ideasnrepo search "habit tracker"
# List recent ideasnrepo log
# View a specific ideanrepo show 42
# Change an idea's statusnrepo move 42 building
# Delete an ideanrepo rm 42Configuration
Section titled “Configuration”The CLI stores its configuration at:
~/.config/neuralrepo/config.jsonThis file contains your authentication credentials (OAuth token or API key). Do not share it or commit it to version control.