Augments

Start with chat. Add capabilities when you need them.

Augments are the primitives Auggy composes around the kernel: memory, tools, transports, knowledge, notifications, and custom local code.

Fresh agents include only the core chat-ready set. Stable add-ons are one command away after the first run works.

Core

Installed by create.

Enough to chat, fetch URLs, read/write scoped files, and ask clarifying questions.

fileMemorycore

Loads identity.md and learned.md into context.

memory
filesystemcore

Scoped file access plus the skills directory.

tools
webTransportcore

Browser chat, console, health, and home routes.

transport
webFetchcore

Fetch URLs, scrape pages, and call HTTP APIs.

tools
turnControlcore

Lets the agent pause and ask for clarification.

turns
Stable add-ons

Add after first chat.

These have the clearest v1 setup path and CLI guidance.

knowledgestable

Local markdown docs and API-backed knowledge sources.

toolscontext
notifystable

Outbound operator notifications. Starts locally with notifications.jsonl.

toolsmessages
telegramTransportstable

Bidirectional Telegram chat with bot token and creator IDs from .env.

transport
Preview

Preview augments are visible in auggy augment list. They are available for testing, but their production DX is still being hardened. MCP is callable today for local stdio and remote HTTPS servers, with Railway guardrails for cloud-hostile configs.

mcplayeredMemorybashbudgetsagentMaillinkvisitorAuth
Create your own

Custom augments live in your agent project.

Scaffold one with the CLI, edit it in your agent’s augments/ directory, then install it into agent.yaml.

auggy augment create weather
auggy augment install augments/weather
augments/weather/index.ts
import { defineAugment, defineTool } from "auggy"
import { z } from "zod"

export default function weather() {
  return defineAugment({
    name: "weather",
    capabilities: ["tools"],
    tools: [
      defineTool({
        name: "get_weather",
        description: "Get weather for a city.",
        input: z.object({ city: z.string() }),
        execute: async ({ city }) => {
          return `Weather lookup for ${city}`
        },
      }),
    ],
  })
}

Add the first capability after your first chat.

Run the agent, make sure it talks, then add knowledge, notify, Telegram, or your own augment.