@octalmesh/seagull-cli
v0.1.1
Published
Seagull's command-line interface (CLI).
Readme
Every pipeline command (lint, bundle, generate, docs generate,
docs serve, publish sdk, publish registries, clean) plus the
commander program that wires them into the seagull CLI (createProgram()).
Published independently for anyone who wants to script against these commands
directly without the docs bundle. Most people should install
@octalmesh/seagull instead - that package owns the actual seagull
executable (reads its own package.json for --version/--help text, then
calls createProgram() from here to build the rest).
commands/- one function per pipeline step, each taking aResolvedConfig(from@octalmesh/seagull-core) and returningPromise<void>. Every one of these is exported and directly callable - the CLI commands are thincommanderwrappers around them, nothing more.commands/generate-docs.tsandcommands/serve-docs.tsare thin delegations to@octalmesh/seagull-docs- the actual docs-site implementation lives there, kept behind that package's own stable boundary.
program.ts-createProgram(metadata), a pure factory building thecommanderCommandtree. No side effects, noprocess.argvparsing - the actual entrypoint (@octalmesh/seagull'ssrc/cli.ts) owns that, so this package stays testable and embeddable on its own.
import { loadConfig } from "@octalmesh/seagull-core";
import { bundleCommand, generateSdkCommand } from "@octalmesh/seagull-cli";
const config = loadConfig("./seagull.yaml");
await bundleCommand(config);
await generateSdkCommand(config);See examples/sdk in the repo root for a complete
walkthrough (importing from the @octalmesh/seagull meta-package instead, which
most scripts should prefer).
