@netscript/cli
Public and maintainer command-line tooling for NetScript workspaces. This page is generated
from the package's public surface with deno doc (US-2). For the full index of packages and
plugins return to the reference overview .
The root entrypoint (@netscript/cli) exposes the embeddable, programmatic CLI surface — the
helpers a host binary uses to build and run the NetScript command tree, resolve and dispatch
plugin verbs, and scaffold plugin packages. Two sub-path exports carry the lower-level scaffold
engine and the test fixtures:
CLI composition
Symbol
Signature
Description
createPublicCli
function createPublicCli(host: PublicCliHost): PublicCliCommand
Create the public NetScript CLI command tree.
runPublicCli
async function runPublicCli(runtime: PublicCliRuntime): Promise<void>
Run the public CLI with consistent error formatting.
inspectCli
function inspectCli(target: CliInspectionTarget): CliInspectionReport
Inspect an embeddable CLI target for diagnostics.
Plugin host loading
Symbol
Signature
Description
createPluginHostLoader
function createPluginHostLoader(options: PluginHostLoaderOptions): PluginHostLoaderPort
Create a plugin host loader from structural public ports.
resolvePluginManifest
function resolvePluginManifest(spec: string, options: ResolvePluginManifestOptions): Promise<PluginHostManifest>
Resolve a plugin manifest by package spec.
resolvePluginCliSpecifier
function resolvePluginCliSpecifier(pkg: string): string
Resolve the JSR CLI specifier for a plugin package.
Plugin verb dispatch
Symbol
Signature
Description
dispatchPluginVerb
function dispatchPluginVerb(verb: FrameworkVerb, pkg: string, args: readonly string[], options: DispatchPluginVerbOptions): Promise<PluginDispatchProcessResult>
Dispatch a framework plugin verb through deno x -A jsr:<pkg>/cli.
isFrameworkVerb
function isFrameworkVerb(value: string): value is FrameworkVerb
Return whether a value is a framework-owned plugin verb.
FRAMEWORK_VERBS
const FRAMEWORK_VERBS: readonly FrameworkVerb[]
Framework-owned plugin verb constants.
FrameworkVerb
type FrameworkVerb = "add" | "remove" | "enable" | "disable" | "sync" | "setup" | "update" | "doctor" | "info"
Framework-owned plugin verbs.
Plugin scaffolding
Symbol
Signature
Description
scaffoldPluginPackage
function scaffoldPluginPackage(options: PluginScaffoldOptions, dependencies: PluginScaffoldDependencies): Promise<PluginScaffoldResult>
Scaffold a plugin package from skeleton templates.
Types
Symbol
Kind
Description
PublicCliHost
interface
Host services supplied by the binary edge.
PublicCliCommand
interface
Public command tree returned by createPublicCli.
PublicCliRuntime
interface
Runtime hooks supplied by the public CLI binary.
PluginHostManifest
interface
Plugin manifest value returned by public host loader contracts.
PluginHostLoaderOptions
interface
Plugin host loader contracts.
PluginHostState
interface
Resolved plugin host state.
PluginHostLoaderPort
interface
Public host loader port.
ResolvePluginManifestOptions
interface
Options for resolving a plugin manifest.
PluginDispatchProcessResult
interface
Result of a public process dispatch.
DispatchPluginVerbOptions
interface
Options for dispatching a plugin verb.
PluginScaffoldOptions
interface
Options for scaffolding a plugin package.
PluginScaffoldResult
interface
Result returned after plugin package scaffolding.
PluginScaffoldDependencies
interface
Dependencies for plugin package scaffolding.
CliInspectionTarget
interface
Target accepted by inspectCli.
CliInspectionReport
interface
Diagnostic summary for an embeddable CLI target.
Sub-path exports
The following entrypoints are published alongside the root export. Their reference surface is
generated separately from their own deno doc output.
Export
Entrypoint
Purpose
@netscript/cli
./mod.ts
Embeddable CLI composition, plugin dispatch, and scaffold helpers (documented above).
@netscript/cli/scaffolding
./scaffolding.ts
Plugin scaffold engine.
@netscript/cli/testing
./testing.ts
Test fixtures and in-memory ports.
@netscript/cli/scaffolding
The scaffold engine that walks template directories, renders {{var | pipe}} templates, and
writes plugin-owned scaffold definitions.
Symbol
Signature
Description
createPluginScaffoldContext
function createPluginScaffoldContext(options: PluginScaffoldContextOptions): PluginScaffoldContext
Create a normalized plugin scaffold context.
planPluginScaffoldFiles
async function planPluginScaffoldFiles(definition, context, dependencies): Promise<readonly PlannedPluginScaffoldFile[]>
Render all files in a plugin scaffold definition without writing them.
writePluginScaffoldFiles
async function writePluginScaffoldFiles(definition, context, dependencies): Promise<ScaffoldResult>
Render and write a plugin scaffold definition.
renderTemplate
function renderTemplate(template: string, context: Record): string
Render a template string by replacing {{var}} / {{var | pipe}}.
Scaffolder
class
Core scaffold engine that walks template directories and renders templates.
DenoFileSystem
class
Filesystem adapter backed by Deno APIs and @std/fs.
MemoryFileSystemAdapter
class
In-memory filesystem adapter for tests.
StringTemplateAdapter
class
Template adapter that uses simple {{var | pipe}} string replacement.
FileSystemPort
interface
Abstraction over filesystem operations.
ScaffolderPort
interface
Core scaffolding service.
TemplatePort
interface
Abstraction over template rendering.
PluginScaffoldDefinition
interface
Plugin-owned scaffold definition.
PluginScaffoldContext
interface
Runtime context for a plugin scaffold operation.
PluginScaffoldContextOptions
interface
Options for creating a plugin scaffold context.
PluginScaffoldTemplate
interface
One template owned by a plugin package.
PluginScaffoldDirectory
interface
One directory a plugin scaffold should create.
PlannedPluginScaffoldFile
interface
Rendered file planned by a plugin scaffold operation.
PluginScaffoldDependencies
interface
Dependencies needed by plugin scaffold helpers.
ScaffoldOptions
interface
Options for a single scaffold operation.
ScaffoldResult
interface
Result of a scaffold operation.
DirEntry
interface
Entry returned by non-recursive directory reads.
WalkEntry
interface
Entry yielded by recursive directory walks.
FileInfo
interface
Metadata returned by filesystem stat operations.
@netscript/cli/testing
In-memory ports and fixture builders for exercising the CLI and scaffold pipelines in tests.
Symbol
Signature
Description
createInMemoryFileSystem
function createInMemoryFileSystem(): MemoryFileSystemAdapter
Create an in-memory filesystem adapter.
createInMemoryProcess
function createInMemoryProcess(): InMemoryProcess
Create an in-memory process port with queued results.
createInMemoryPrompt
function createInMemoryPrompt(): PromptPort
Create a scripted prompt port for non-interactive tests.
createSilentLogger
function createSilentLogger(): LoggerPort
Create a no-op logger.
buildMinimalScaffoldPlan
function buildMinimalScaffoldPlan(): ScaffoldPlan
Build a minimal scaffold plan fixture for tests.
buildMinimalInitResult
function buildMinimalInitResult(): InitResult
Build a minimal init result fixture for tests.
buildMinimalPromptAnswers
function buildMinimalPromptAnswers(): InitPromptAnswers
Build a minimal prompt-answer fixture for tests.
buildEmptyScaffoldResult
function buildEmptyScaffoldResult(): ScaffoldResult
Build an empty scaffold result fixture for tests.
MemoryFileSystemAdapter
class
In-memory filesystem adapter for tests.
DbEngine
type alias
Database engines that have scaffolded workspace support ("postgres" | "mysql" | "mssql" | "sqlite").
DbEngineChoice
type alias
Database engine selection accepted by init, including the no-database option (DbEngine | "none").
EditorChoice
type alias
Optional editor config scaffolded into the workspace root ("none" | "zed" | "vscode").
InitPromptAnswers
interface
Answers collected from interactive prompts during init.
InitResult
interface
Aggregated result of the full init pipeline execution.
ScaffoldPlan
interface
Public scaffold plan derived from validated init options.
ScaffoldServicePlan
interface
Example service requested for the generated workspace.
LoggerPort
interface
Structured logger abstraction.
ProcessPort
interface
Process execution abstraction.
ProcessResult
interface
Result of an external process invocation.
PromptPort
interface
User prompt abstraction.
InMemoryProcess
interface
In-memory process port with deterministic queued results.
RecordedProcessCall
interface
One recorded in-memory process invocation.
PromptScript
interface
Scripted answers used by the in-memory prompt port.
Back to the reference overview .
On this page