Nusii CLI
Proposals, straight from your terminal
Create, price, send and track proposals from the command line. Script the repetitive parts of your sales process, or let an AI agent like Claude Code or Codex do the typing for you.
brew install nusii/tap/nusii
Free and open source. Works on macOS and Linux.
studio north
Website redesign
Acme Inc | October 6, 2026
Proposal prepared for: Jane Cooper
Your goals
Acme wants a faster website that the team can update themselves and that turns more visitors into qualified leads.
Scope of work
Discovery workshop and a new sitemap
Design for the homepage and five page templates
Build on a CMS your team can edit
Launch, redirects and a training session
Investment
Total$8,400.00
Proposal Overview
Proposal Name:
Website redesign
State:
Pending Accepted
Value:
$8,400.00
Client:
Jane Cooper (Acme Inc)
Signatures: Signature:
This proposal still hasn't been accepted.
Signed Oct 8, 2026 by Jane Cooper
Activity
Accepted Jane Cooper <jane@acme.com> accepted the proposal: Website redesign. view info.
Oct 8
10:52 AM
Opened Jane Cooper <jane@acme.com> has viewed the proposal: Website redesign.
Oct 7
09:40 AM
Opened Email jane@acme.com has opened the email related to proposal: Website redesign.
Oct 6
09:31 AM
Sent Alex Kim has sent the proposal: Website redesign to Jane Cooper <jane@acme.com>. view info.
Oct 6
09:14 AM
“We use Nusii via API, command line and AI agents to go through a process from call transcripts, emails, standards, rate card and much more to build a proposal.”
Michael Sale, Something Pressing
Why we built it
Your proposal routine, minus the clicking
Most proposals follow the same rhythm: pick a template, add the client, tweak the pricing, send it, then keep an eye on it until it’s signed. In the app that takes a few minutes. Do it a dozen times a week, on top of the Monday reporting and the client admin, and those minutes quietly pile up.
The Nusii CLI turns each of those steps into a single command. Run them yourself, chain them into a script, or let an AI agent or your other tools run them for you. The app stays where it shines: writing, pricing and that final read before you hit send.
What you can do
Put your proposal busywork on autopilot
Schedule it with cron, wire it into your own tools, or hand it to an AI agent. A few ideas to get you started:
A follow-up list every Monday morning
Start the week with an email listing every proposal that’s still waiting on a client, so no deal goes quiet without you noticing.
# crontab: Mondays at 8:00
0 8 * * 1 ~/bin/chase.sh
# ~/bin/chase.sh
nusii proposals list --status pending \
| jq -r '.data[].attributes.title' \
| mail -s "Proposals to chase" you@studio.co
Pipeline numbers for your Friday update
Count your proposals by status at the end of every week and drop the numbers into Slack, an email or your team dashboard.
# ~/bin/pipeline.sh, run by cron on Fridays
for status in pending accepted rejected; do
printf "%s: " "$status"
nusii proposals list --status "$status" \
| jq .meta.total_count
done
Your client list, moved over in one go
Exported your contacts from a spreadsheet, an old proposal tool or your CRM? Loop over the CSV and create every client in a single run.
# clients.csv: name,email,business
while IFS=, read -r name email business; do
nusii clients create --name "$name" \
--email "$email" --business "$business"
done < clients.csv
Proposals that start in your CRM
When a deal reaches the proposal stage in your CRM or internal app, create the draft from your template automatically, so it’s waiting for you to polish.
# Run by your app when a deal is ready
nusii proposals create \
--title "$DEAL_NAME" \
--client-email "$CLIENT_EMAIL" \
--template-id 1187
The building blocks
Clients, proposals, sections, line items, activity and webhooks, plus your account, users and themes. Every step of a proposal is one command away.
Start from a template
Pick the client by ID or email and base the proposal on one of your templates, so your usual sections are already in place.
nusii proposals create \
--title "Website redesign" \
--client-email jane@acme.com \
--template-id 1187
Price it, line by line
Add sections and line items, including price ranges for work that isn’t fully scoped yet. Amounts are in cents, so nothing gets rounded.
nusii line-items create \
--section-id 456 --name Discovery \
--cost-type range --amount 500000 \
--maximum-amount 800000
Send it
Send to the client on the proposal, or override the recipient, CC, BCC, subject and message for this one send.
nusii proposals send 123 \
--cc partner@acme.com \
--subject "Your website proposal"
See who’s reading
Email opens, views, PDF downloads, signatures and payments all land in the activity feed. Filter it by proposal or by client.
nusii activities list \
--proposal-id 123
Keep clients in sync
Create, update and look up clients, so Nusii stays in step with whatever system already holds your contacts.
nusii clients create \
--name Jane --surname Cooper \
--email jane@acme.com \
--business "Acme Inc"
React to events
Register a webhook endpoint and Nusii will notify it when proposals are sent, viewed, accepted or rejected.
nusii webhooks create \
--target-url https://acme.dev/hook \
--events proposal_accepted
Get started
Up and running in a minute
-
1
Install
Homebrew is the quickest route. You can also build it with Go or grab a binary from the releases page.
brew install nusii/tap/nusiigo install github.com/nusii/nusii-cli@latest -
2
Sign in
Approve access in your browser with OAuth, or paste an API key from Settings → API.
nusii auth login -
3
Run your first command
List your proposals, check who opened what, or create a client. Add
--helpto any command to see its options.nusii proposals list
- Same API, same permissions
- The CLI talks to the public Nusii API, which is included on every plan. It can only do what your account can do.
- Platforms
- Prebuilt binaries for macOS and Linux, on both Intel and ARM. Anywhere else, build it from source with Go.
- Open source
- Apache 2.0 licensed. Read the code, open an issue or send a pull request on GitHub.
New to Nusii? Start with the app, script it later
Set up your templates and branding in Nusii, then let the CLI take over the repetitive parts.
Frequently asked questions
Questions about the Nusii CLI
What is the Nusii CLI?
It's a command-line tool for Nusii. Type a command to create clients and proposals, add sections and line items, send proposals and check their activity, without opening a browser. It's handy for developers, for automation, and for AI coding agents that work in a terminal.
Is the Nusii CLI free?
Yes. The CLI is free and open source under the Apache 2.0 license. You need a Nusii account to use it, and API access is included on every plan.
How do I install it?
On macOS or Linux, run brew install nusii/tap/nusii. If you have Go installed, go install github.com/nusii/nusii-cli@latest works too, and prebuilt binaries are on the GitHub releases page.
How do I sign in?
Run nusii auth login and choose OAuth to approve access in your browser, or paste an API key from Settings → API. For scripts and servers, you can pass the API key through an environment variable instead.
What can I do with it?
Manage clients, create proposals from scratch or from a template, add and edit sections and line items (including price ranges), send, archive and delete proposals, read the activity feed, and manage webhook endpoints. You can also look up your account, users and themes.
Does it work with AI coding agents like Claude Code and Codex?
Yes, that's one of the main reasons it exists. Output switches from tables to JSON when another program is reading it, and errors come back in a form an agent can act on. The repository also includes a Claude Code skill that turns plain-language requests into CLI commands.
Claude Code and Codex can also connect to Nusii through MCP, using your normal Nusii login instead of an API key. That's an easy way to let your agent report on your proposals and draft new ones. Reach for the CLI when you want it to go further, like sending proposals, importing clients or managing webhooks.
What's the difference between the CLI and Nusii MCP?
MCP is for AI chat apps like Claude, ChatGPT and Gemini. You connect it once with your Nusii login, and your assistant can report on your proposals and draft new ones. Nothing gets sent to clients from a chat.
The CLI is for your terminal, your scripts and coding agents. It covers more of the API, including sending proposals and managing clients and webhooks.
Can I use it in scripts, cron jobs or CI?
Yes. Give it an API key through an environment variable, and every command returns JSON your script can parse, plus a clear signal of whether it worked.
Can I send proposals from the CLI?
Yes. nusii proposals send 123 sends a proposal to its client. You can override the recipient and set a CC, BCC, subject and message for that send.
Where do I report bugs or request features?
Open an issue on GitHub, or email us at support@nusii.com. Pull requests are welcome too.
Unanswered questions? Email us at support@nusii.com.