Build
Run an augmenter
Augmenters are file-modifying skills — /seo, /marketing, /a11y, etc. They read your app's file tree, generate a patch via LLM, and write it back. Idempotent and safe to re-run.
#Basic call
const result = await client.augmenters.run({
alias: 'seo',
appId: 'app_abc',
args: 'brand: Acme, audience: small biz',
});
console.log('files changed:', result.files.length);
result.files.forEach(f => console.log(' ', f.path, f.status));#Streaming variant
const stream = client.augmenters.runStream({
alias: 'a11y',
appId: 'app_abc',
});
for await (const ev of stream) {
if (ev.type === 'started') console.log('reading workspace…');
if (ev.type === 'planning') console.log('LLM generating patch…');
if (ev.type === 'file_written') console.log('wrote', ev.path);
if (ev.type === 'done') console.log('applied', ev.filesChanged, 'files');
}#Dry-run mode
Preview a patch before applying. The server runs the augmenter end-to-end but doesn't write to your workspace. Useful for showing a diff to the user before committing.
const preview = await client.augmenters.run({
alias: 'pwa',
appId: 'app_abc',
dryRun: true,
});
// preview.files contains the would-be changes
preview.files.forEach(f =>
console.log(f.status, f.path, '+' + f.added, '-' + f.removed),
);#Request fields
| Field | Type | Description |
|---|---|---|
| aliasrequired | string | One of: seo, geo, marketing, a11y, pwa, perf, auth, payments. Or a custom augmenter alias. |
| appIdrequired | string | The app to modify. |
| args | string | Free-form arguments — same as appending after the slash command. |
| dryRun | boolean | Default false. When true, returns the patch without writing. |
| force | boolean | Default false. When true, ignores idempotency markers and re-runs from scratch. |
| workspaceContextOverride | object | Per-run override of brand voice fields. |
#Response shape
| Field | Type | Description |
|---|---|---|
| runId | string | Unique id for this run. |
| files | File[] | List of files affected. Each: { path, contents, status: "created"|"modified"|"unchanged", added, removed }. |
| summary | string | Markdown summary of the changes for display. |
| idempotencyKey | string | The marker the augmenter wrote (e.g. "@seo:v3"). Used to detect re-runs. |
| tokensUsed | number | Tokens consumed. |
| conflictsWith | string[] | Other augmenters that recently touched these files. Inspect before chaining further runs. |
#Chaining augmenters
Augmenters are designed to compose. To apply several to one app, run them sequentially — each reads the latest workspace state:
for (const alias of ['seo', 'a11y', 'pwa']) {
const r = await client.augmenters.run({ alias, appId: app.id });
console.log(alias, '→', r.files.length, 'files');
}#Idempotency
Each augmenter writes a small marker into the files it touches. Re-running detects the marker and only patches the parts that changed. To force a fresh run (e.g. you want to re-apply after updating workspace context), pass force: true.
#Where to go next
PromptFloe developer docs