The personal agent that runs on your rules

$ curl -fsSL https://nu.rebuno.io/install.sh | sh

Open source, MIT licensed

Try it, and decide what Nu is allowed to do.

get me ready for Monday
  1. Press Run to start.

Allowed steps run on their own. The rest wait here for you.

Your rules

  • read-inboxRead your email
  • everything elseAsks you first

Your rules, enforced by Rebuno

Nu runs on Rebuno, which checks every tool call against your policy and records every step before it runs.

Rules are plain YAML

A rule matches a tool, and optionally its arguments. They live in one file you can read, edit, and keep in Git.

rules:  - id: read-calendar    when:      targets:        - calendar__list_events        - calendar__get_event    then:      decision: allow   - id: personal-events    when:      target: calendar__create_event      arguments:        calendar: { equals: personal }    then:      decision: allow # Anything no rule covers asks you first.

Restarts don't redo work

Every step is logged before it runs, so after a restart Nu picks up where it left off instead of starting over.

  1. Searched your inboxrecorded
  2. Read the lease threadrecorded
  3. Drafted a replyrecorded
  4. server restarted
  5. Searched your inboxreplayed
  6. Read the lease threadreplayed
  7. Drafted a replyreplayed
  8. Sent the replyrecorded

Secrets stay out of reach

You send secrets with a command, so they never enter the conversation.

The agent

Asks for keys, and you send them with /secret

The sandbox

Gets only the secrets you share with it

Package tools

Get only the secrets they declare

Every part is yours to change

Packages add tools, skills, and rules, or replace parts of Nu, from the sandbox to chat apps.

  • Tools

    Scripts that declare the secrets they need

  • Skills

    Instructions for specific tasks

  • Policy

    Suggested rules you can accept or skip

  • Chat apps

    Talk to Nu from anywhere

  • Memory

    Store memories where you choose

  • Sandbox

    Run commands somewhere else

  • Browser

    Choose the browser Nu drives

  • Hooks

    React to messages and tool calls

  • Watchers

    Wake Nu on events, like a new email

  • MCP

    Connect any MCP server

  • Specialists

    Focused agents with their own tools and rules

  • Schedules

    Recurring tasks, like a Monday briefing

Install one, or have Nu write it

Install from npm, Git, or a local folder, or ask Nu to write one. Nu shows what it adds and which secrets it needs.

$ nu search calendar$ nu install npm:<package>Installed npm:<package> (namespace calendar).Tools: calendar__list_events.Set its CALENDAR_TOKEN secret with: printf %s '<value>' | nu secret set CALENDAR_TOKEN

tools/list-events/tool.yaml

name: calendar__list_eventsversion: 1description: List your events between two dates.args_schema:  type: object  required: [from, to]  properties:    from: { type: string, format: date }    to: { type: string, format: date }idempotency: safe_to_retrysecrets: [CALENDAR_TOKEN]entry: index.ts

Get started

Needs Docker Compose and Node.js 24 or later.

  1. 01Install Nu

    $ curl -fsSL https://nu.rebuno.io/install.sh | sh
  2. 02Sign in to any model provider

    $ nu login openai
  3. 03Start talking

    $ nu