Skip to content

Quickstart

Install Wardrik, send the assistant a request, then write your own agent.

curl -fsSL https://github.com/wardrik-dev/wardrik_daemon/releases/download/v0.1.0-rc.2/install.sh | sh
wardrik init

init prompts for a model provider and key, writes ~/.config/wardrik/, and starts the daemon. See Install for Docker and flags.

wardrik ask assistant "Tell me when https://github.blog/changelog/feed/ has a new post"

It replies with a plan and an agent_create call that needs approval:

Waiting on a person for 1 call:
? agent_create call_8d2e agent_create needs your approval.
Decide with: wardrik approval approve assistant ID, or wardrik approval deny assistant ID
wardrik approval approve assistant call_8d2e
wardrik ls

wardrik ls lists the new agent. See The assistant.

An agent is a Markdown file. The frontmatter is its definition, and the body is its instructions.

~/.config/wardrik/agents/notes.md
---
description: Keeps the team's notes.
tools: [files]
policy:
ask:
write_file: This writes a note.
---
You keep the team's notes in files. Say what you would write before you write it.
wardrik reload
wardrik ask notes "Start a MEMORY.md with today's date and what you are for."
  • The file name, notes, is the agent's name.
  • It has no model, so it uses defaults.model from config.yaml.

The model calls write_file, which the policy requires approval for:

wardrik approval ls
AGENT CONVERSATION CALL TOOL WHY
notes call_5b1f write_file This writes a note.
wardrik approval approve notes call_5b1f
# or
wardrik approval deny notes call_5b1f --reason "Keep it to one line."

On a denial, the model receives your reason and the turn continues. See Approvals.

  • Tools in your app: serve tools to agents from your own code.
  • Slack: use agents in Slack, with Approve and Deny buttons in the thread.
  • Policy: every policy rule.
  • Agent files: every key an agent file takes.
  • Examples: agents to copy and run.