From antigravity-awesome-skills
DBOS TypeScript SDK for building reliable, fault-tolerant applications with durable workflows. Use this skill when writing TypeScript code with DBOS, creating workflows and steps, using queues, usi...
npx claudepluginhub absjaded/antigravity-awesome-skillsThis skill uses the workspace's default tool permissions.
Guide for building reliable, fault-tolerant TypeScript applications with DBOS durable workflows.
AGENTS.mdCLAUDE.mdreferences/_sections.mdreferences/advanced-patching.mdreferences/advanced-versioning.mdreferences/client-enqueue.mdreferences/client-setup.mdreferences/comm-events.mdreferences/comm-messages.mdreferences/comm-streaming.mdreferences/lifecycle-config.mdreferences/lifecycle-express.mdreferences/pattern-classes.mdreferences/pattern-debouncing.mdreferences/pattern-idempotency.mdreferences/pattern-scheduled.mdreferences/pattern-sleep.mdreferences/queue-basics.mdreferences/queue-concurrency.mdreferences/queue-deduplication.mdVerifies tests pass on completed feature branch, presents options to merge locally, create GitHub PR, keep as-is or discard; executes choice and cleans up worktree.
Guides root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Writes implementation plans from specs for multi-step tasks, mapping files and breaking into TDD bite-sized steps before coding.
Guide for building reliable, fault-tolerant TypeScript applications with DBOS durable workflows.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Lifecycle | CRITICAL | lifecycle- |
| 2 | Workflow | CRITICAL | workflow- |
| 3 | Step | HIGH | step- |
| 4 | Queue | HIGH | queue- |
| 5 | Communication | MEDIUM | comm- |
| 6 | Pattern | MEDIUM | pattern- |
| 7 | Testing | LOW-MEDIUM | test- |
| 8 | Client | MEDIUM | client- |
| 9 | Advanced | LOW | advanced- |
Always install the latest version of DBOS:
npm install @dbos-inc/dbos-sdk@latest
A DBOS application MUST configure and launch DBOS before running any workflows:
import { DBOS } from "@dbos-inc/dbos-sdk";
async function main() {
DBOS.setConfig({
name: "my-app",
systemDatabaseUrl: process.env.DBOS_SYSTEM_DATABASE_URL,
});
await DBOS.launch();
await myWorkflow();
}
main().catch(console.log);
Workflows are comprised of steps. Any function performing complex operations or accessing external services must be run as a step using DBOS.runStep:
import { DBOS } from "@dbos-inc/dbos-sdk";
async function fetchData() {
return await fetch("https://api.example.com").then(r => r.json());
}
async function myWorkflowFn() {
const result = await DBOS.runStep(fetchData, { name: "fetchData" });
return result;
}
const myWorkflow = DBOS.registerWorkflow(myWorkflowFn);
DBOS.startWorkflow or queuesRead individual rule files for detailed explanations and examples:
references/lifecycle-config.md
references/workflow-determinism.md
references/queue-concurrency.md