Logiciel libre

Nos outils de développement sont publics.

NetScript est le framework que Devocracy utilise sur les mandats clients. Il est libre : n’importe qui peut lire comment votre système est assemblé — y compris celui qui le maintiendra après nous.

Statut
Bêta · 0.0.1-beta.11
Licence
Apache-2.0
Registre
JSR, avec provenance

La raison d’être

La plupart des pannes naissent à la jonction entre deux systèmes.

Une application renomme un champ, le service voisin continue de demander l’ancien, et rien ne signale l’écart jusqu’à ce qu’un client s’en plaigne. NetScript écrit cet accord une seule fois et génère les deux côtés à partir de là : un tel écart bloque la compilation, pas la commande d’un client.

01 · UN CHANGEMENT, DEUX LECTURESUN CHAMP EST RENOMMÉle service voisin demande encore l’ancienSans accord écritAvec un accord écritLA COMPILATIONrien ne signale l’écartLA MISE EN PRODUCTIONle changement passeLA COMMANDEun client le découvreLA COMPILATIONelle échoue iciLA MISE EN PRODUCTIONn’a jamais lieuLA COMMANDEne casse jamaisToute la différence tient à la distance parcourue
Le même renommage, sans l’accord écrit puis avec

La chaîne d’exécution

Schéma, contrat, service, client, trace.

Cinq étapes, cinq fichiers réels, issus de la documentation publiée.

Schéma → contrat → service → client → trace

Tout ce qui est hors contrat est rejeté

Un schéma se déplie en contrat CRUD.

La méthode, l’entrée et la sortie sont scellées avant qu’aucun gestionnaire n’existe : client et serveur compilent sur la même définition.

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,
});

Extensions officielles

Six extensions officielles.

Chacune est un paquet du même dépôt, sous la même licence. Il n’y a pas de version payante.

@netscript/workers

workers

Traitements en arrière-plan avec file d’attente, reprises et traçage.

@netscript/sagas

sagas

Transactions de longue durée, compensées lorsqu’une étape échoue.

@netscript/triggers

triggers

Exécution planifiée et événementielle, tracée comme n’importe quel appel.

@netscript/streams

streams

Diffusion d’événements serveur (SSE) intégrée comme protocole natif.

@netscript/auth

auth

Identité et sessions, câblées dans le préréglage de service.

@netscript/ai

ai

Appels aux modèles, régis par les mêmes contrats que le reste.

Déploiement

Dix environnements d’exécution, une seule commande.

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

Cibles enregistrées

  • deno-deployCLI native deno deploy, avec contrôle préalable
  • windows-serviceService Windows via Servy
  • linux-serviceUnité systemd
  • dockerAdaptateur Compose, six opérations
  • composeAdaptateur Compose, six opérations
  • kubernetesDélégué à l’Aspire AppHost
  • cloud-runBuild, push, gcloud run deploy
  • azure-acaDélégué à l’Aspire AppHost
  • azure-app-serviceDélégué à l’Aspire AppHost
  • azure-aksDélégué à l’Aspire AppHost

Un service Windows comme un déploiement Kubernetes s’appuient sur la même définition de projet.

Interface pour agents

Un périmètre conçu pour les agents IA, sous contrôle strict.

Un agent reçoit une liste fixe de choses qu’il peut exécuter. Tout le reste est refusé.

Les résultats d’outils sont plafonnés, et non tronqués en silence.

Serveur MCP
netscript agent mcp, via stdio, depuis @netscript/mcp
Outils
13, bornés en tokens : 50 éléments de tableau et 2000 caractères par chaîne
Politique de commandes
17 préfixes autorisés, 6 refus explicites. Le refus l’emporte ; ce qui ne correspond pas est refusé.
Compétences
3 compétences vérifiées par empreinte numérique, installées par netscript agent init

Installation

Une commande, une version épinglée.

C’est encore une bêta : l’API peut bouger d’une version à l’autre. Épinglez la version.

terminal
deno install --global --allow-all --name netscript jsr:@netscript/cli@0.0.1-beta.11
Statut
Bêta — 0.0.1-beta.11, publié sur JSR
Licence
Apache-2.0 · Copyright 2025–2026 Eric Chautems
Registre
JSR uniquement, avec provenance. Non publié sur npm.
Prérequis
Deno 2.9 ou ultérieur ; le CLI .NET Aspire, ou --no-aspire
Périmètre
29 paquets et 6 extensions officielles
Mainteneur
Eric Chautems / Devocracy — mainteneur unique

Prochaine étape

Vous voulez un système construit ainsi ?

Votre projet n’a pas besoin de tourner sur NetScript. La manière de travailler, elle, ne change pas.