Skip to content

Infrastructure as TypeScript

Agentless, composable, and 100% type-safe. If you can write TypeScript, you can automate your infrastructure.
setup.ts
import { apply } from 'sysopkit';
import { main } from 'sysopkit/start';
import { SSHConnector } from 'sysopkit/connector/ssh';
import { sudo } from 'sysopkit/middleware/sudo';
import { createFile } from 'sysopkit/op/file';
import { sh } from 'sysopkit/op/sh';
await main(async () => {
await using c = new SSHConnector({ host: '192.168.1.10', user: 'sysop' });
await apply('setup nginx', c, async () => {
await sudo(async () => {
await sh('apt install -y nginx');
await createFile({
path: '/etc/nginx/sites-available/default',
content: 'server { listen 80; }',
mode: 0o644,
});
});
});
});

Run it with bun setup.ts. The script connects over SSH, installs nginx with elevated privileges, and writes the config file idempotently — re-running it changes nothing. No agents, no DSL: just TypeScript with compile-time checks, try/catch error handling, and npm modules for reuse.

Agentless Architecture

Runs commands on targets over SSH. Nothing to install or manage on hosts.

TypeScript-First Design

No proprietary DSL. Loops, conditionals, and variables are just TypeScript.

Zero NPM Dependencies

Lightweight, fast, and auditable for secure environments.

Idempotent & Safe

Change detection ensures tasks only run when necessary.

Native OpenSSH

ControlMaster multiplexing for fast, persistent connections.

Parallel Execution

Multi-host batching with concurrency limits and failure thresholds.