> ## Documentation Index
> Fetch the complete documentation index at: https://agentapplications.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Agent Applications is a vendor-neutral, markdown-first package format for building applications that AI agents can inspect and operate through a documented CLI.

Agent Applications gives you a portable middle layer between raw code and opaque tool integrations. Each package describes its application contract in `APP.md`, keeps runtime behavior inside `app/`, and attaches local skills so agents can operate it safely.

<CardGroup cols={2}>
  <Card title="What are Agent Applications?" icon="lightbulb" href="/what-are-agent-applications">
    Learn the package model, file roles, and why `APP.md` stays central.
  </Card>

  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Build and run your first Agent Application package in minutes.
  </Card>

  <Card title="Specification" icon="file-code" href="/specification">
    Read the complete v1 format contract.
  </Card>

  <Card title="Package Authors" icon="pen" href="/authoring/best-practices">
    Write packages that stay portable, legible, and testable.
  </Card>

  <Card title="Runtime Implementers" icon="gear" href="/runtime/adding-support">
    Add Agent Applications support to your agent runtime or host tool.
  </Card>

  <Card title="Example App" icon="square-terminal" href="/example/agentic-to-do">
    Explore the reference to-do app that demonstrates the full contract.
  </Card>
</CardGroup>

## Why Agent Applications?

Agent workflows become more reliable when the application — not the chat transcript — owns state and behavior. Agent Applications makes that contract explicit.

* **For package authors**: document one stable CLI surface that agents and humans can inspect.
* **For runtime implementers**: load lightweight metadata first, then activate `APP.md`, local skills, and app resources only when needed.
* **For teams**: keep application instructions, command contracts, and safety rules in version-controlled files.

## How it works

<Steps>
  <Step title="Create APP.md">
    Write a manifest that declares your CLI entrypoint, supported commands, scheduling behavior, and confirmation rules for destructive operations.
  </Step>

  <Step title="Implement your CLI">
    Put your runnable code inside `app/`. The CLI must return machine-readable JSON by default and exit with a non-zero code on failure.
  </Step>

  <Step title="Attach local skills">
    Add `SKILL.md` files under `skills/` to give agents context-aware operating guidance without changing the base app contract.
  </Step>

  <Step title="Use it with any compatible runtime">
    Any Agent Applications-compatible host can discover, inspect, and operate your package using the documented CLI contract.
  </Step>
</Steps>
