Open source

The tools we build with are public.

NetScript is the framework Devocracy uses on client work. It is open source, so anyone can read how your system is put together — including whoever maintains it after us.

Status
Beta · 0.0.1-beta.11
Licence
Apache-2.0
Registry
JSR, with provenance

Why it exists

Most outages start where two systems meet.

One side renames a field, the other side keeps asking for the old one, and nothing complains until a customer does. NetScript writes that agreement down once and generates both sides from it, so a change like that stops the build instead of the order.

01 · ONE CHANGE, READ TWICEA FIELD IS RENAMEDthe other side keeps asking for the old oneNo written agreementOne written agreementTHE BUILDnothing objectsTHE RELEASEit ships anywayTHE ORDERa customer finds itTHE BUILDit stops hereTHE RELEASEnever happensTHE ORDERnever breaksThe difference is how far it got
The same rename, without the written agreement and with it

The chain

Schema, contract, service, client, span.

Five steps, five real files, copied from the published documentation.

Schema → contract → service → client → span

Unmatched is denied

One schema fans out into a CRUD contract.

Method, input and output are bound before any handler exists, so both sides compile against the same definition.

contracts/versions/v1/users.contract.ts
import { createCrudContract } from '@netscript/contracts/crud';
import { UserCreateInput, UserSchema, UserUpdateInput } from '@database/zod';

export const UsersCrudContractV1 = createCrudContract({
  resource: 'users',
  entitySchema: UserSchema,
  createSchema: UserCreateInput,
  updateSchema: UserUpdateInput,
});

First-party plugins

Six official add-ons.

Each one is a package in the same repository, under the same licence. There is no paid tier.

@netscript/workers

workers

Background work with a queue, retries and a tracer.

@netscript/sagas

sagas

Long-running transactions, compensated when a step fails.

@netscript/triggers

triggers

Scheduled and event-driven execution, traced like any call.

@netscript/streams

streams

Server-sent events as a first-class transport.

@netscript/auth

auth

Identity and sessions, wired into the service preset.

@netscript/ai

ai

Model calls behind the same contracts as everything else.

Deploy

Ten places to run it, one command.

terminal
netscript deploy list --json
netscript deploy kubernetes plan --project-root . --output-dir .deploy/kubernetes
netscript deploy azure-aks up --project-root . --output-dir .deploy/azure-aks
netscript deploy azure-aks down --project-root . --output-dir .deploy/azure-aks

Registered targets

  • deno-deployNative deno deploy CLI, with a preflight guard
  • windows-serviceWindows service via Servy
  • linux-servicesystemd unit
  • dockerCompose adapter, six operations
  • composeCompose adapter, six operations
  • kubernetesDelegated to the Aspire AppHost
  • cloud-runBuild, push, gcloud run deploy
  • azure-acaDelegated to the Aspire AppHost
  • azure-app-serviceDelegated to the Aspire AppHost
  • azure-aksDelegated to the Aspire AppHost

A Windows service and a Kubernetes deployment come out of the same project definition.

Agent surface

Built for AI agents to use, with limits.

An agent gets a fixed list of things it may run. Everything else is refused.

Tool results are capped rather than truncated silently.

MCP server
netscript agent mcp, over stdio, from @netscript/mcp
Tools
13, token-bounded: 50 array items and 2,000 characters per string
Command policy
17 allowed prefixes, 6 explicit denies. Deny wins; unmatched is denied.
Skills
3 content-hashed skills installed by netscript agent init

Install

One command, one pinned version.

It is still in beta, so the API can move between releases. Pin the version.

terminal
deno install --global --allow-all --name netscript jsr:@netscript/cli@0.0.1-beta.11
Status
Beta — 0.0.1-beta.11, published to JSR
Licence
Apache-2.0 · Copyright 2025–2026 Eric Chautems
Registry
JSR only, with provenance. Not published to npm.
Requires
Deno 2.9 or later; the .NET Aspire CLI, or --no-aspire
Scope
29 packages and 6 first-party plugins
Maintainer
Eric Chautems / Devocracy — single maintainer

Next step

Want a system built this way?

Your project does not have to run on NetScript. The way of working comes either way.