Appstrate
[Agents & Runtime]

Extend agents with code you control.

Skills are reusable instructions. Tools are TypeScript functions. Package both with AFPS.

[01 · Why it matters]

Pre-built is nice. Yours is necessary.

Every real product has custom logic: pricing rules, approval thresholds, internal APIs, domain lingo. No catalog covers it.

Appstrate lets you write tools in TypeScript and ship them as packages. Agents discover them automatically; versioning and dependencies follow semver.


[02 · How it works]

Write once. Version. Share.

A tool is a function. A skill is a markdown file with YAML frontmatter. Both package into AFPS archives.

Tool manifestAFPS · manifest.json
{
  "$schema": "https://afps.appstrate.dev/schema/v1/tool.schema.json",
  "name": "@acme/orders",
  "version": "1.2.0",
  "type": "tool",
  "displayName": "Orders",
  "entrypoint": "tool.ts",
  "tool": {
    "name": "orders_get",
    "description": "Fetch order details by ID.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "order_id": {
          "type": "string",
          "description": "Order identifier"
        }
      },
      "required": ["order_id"]
    }
  }
}

[03 · Deep dive]

What makes it work.

🔧

TypeScript tools

Full type safety, your existing deps, your own code.

📘

Skill files

Markdown with YAML frontmatter. Teach agents your domain.

📦

AFPS packaging

Versioned, signed, dependency-checked. Publish to a registry.

🔄

Semver resolution

Pin exact versions or use ranges. No surprise upgrades.


Write the tools. Ship the agents.

Full example in /docs. TypeScript, AFPS, semver — all the boring done right.