@indecisivedev/openplan
v0.2.0-alpha.2
Published
A TypeScript Openplan CLI and celld-compatible service with a configurable API endpoint
Readme
Openplan
Openplan publishes authenticated static HTML drafts for agents and teams. This source release includes a TypeScript CLI, a Node.js self-hosted runtime, and a complete celld Worker project.
New authenticated plans are private by default. Public sharing is an explicit owner choice; configure browser identity before expecting private reads. Existing policies and historical legacy defaults are retained on upgrade.
Start with Getting started. Agents can use
llms.txt for setup paths, CLI commands, and verification steps.
Choose a deployment path
The alpha focuses on two deployment paths:
- Docker Compose on Linux — recommended first setup: run the app, SQLite, and SeaweedFS on one machine. The guide includes private configuration generation, image builds, administrator bootstrap, browser sign-in, and commands through the first verified upload and restart.
- Dedicated celld: install on an existing healthy fleet. The quickstart supports celld 0.5.1 and the legacy 0.3.x/0.4.x paths, with version-specific configuration. This does not provision the fleet itself.
The celld quickstart includes a neutral Wrangler configuration, protected variable template, D1 migrations, reload/restart requirements, readiness checks, bootstrap authentication, and a first upload. Do not deploy it onto a shared fleet that already serves another application.
Install the CLI
The CLI alpha supports Linux with Node.js 24.x. macOS and Windows are not
supported yet; saved credentials require Linux's /proc filesystem. Deployment
guides below build from source. For an existing service, the planned npm channel
is @indecisivedev/openplan@next; once the public release is published, install it with:
npm install --global @indecisivedev/openplan@next
openplan --version
openplan endpoint set https://openplan.example
openplan auth login
openplan whoamiFor a one-off invocation, use npx --package=@indecisivedev/openplan@next openplan --help.
Replace the example origin with your service. These commands describe the release
channel and do not establish that it is published. Before publication, use the
source build below. See Connect the CLI for verification,
key enrollment, and the first upload.
The same CLI is also prepared for JSR as @aarons7/openplan. Once the alpha is
published, Linux users with Deno 2.9.6 can run:
deno run -A jsr:@aarons7/[email protected]/cli --helpSee the JSR CLI guide for permissions, setup and runtime requirements. The source distribution includes both registry configurations; these commands do not establish that either version has been published.
Build the source CLI
For a first installation, follow your deployment guide above in order; it includes the required builds. These are the standalone source build checks:
Node.js 24.x is the supported runtime for this
alpha. Other Node.js majors are outside the support scope. Confirm
node --version and npm --version before continuing.
npm ci
npm run checkAnnotation bundles are reproducible from the included client code through
npm run generate:annotations.
Setup and publishing
- Connect to an existing service: install or build the CLI, select an endpoint, authenticate, and verify a first upload.
- Publish and update: static HTML sample, byte verification, versions, and sharing.
- CLI reference and configuration: exact commands and runtime-specific variables.
- OpenID Connect: configure browser SSO with your identity provider.
- Troubleshooting: recover from a failed step.
CLI credentials and upgrades
CLI keys are bound to a canonical origin. Login uses masked TTY input;
noninteractive enrollment uses auth set --stdin --api-url <origin>, never a
positional key. Both verify fresh input and save only the binding. To also change
the default, run endpoint set <origin> separately; the former combined behavior
is intentionally removed. See safe enrollment.
Environment keys require independently configured OPENPLAN_API_KEY_ORIGIN;
missing/mismatched binding fails without fallback. Default uploads require
authentication; anonymous upload is explicit. Older global keys remain inactive.
Upgrade and re-enroll every client
and retire old writers before resuming jobs. These instructions do not claim a
live rollout or public release has been qualified or published.
Help and contributions
See Contributing for installation reports, bug reports, and proposed changes. Use the security policy to report a vulnerability privately.
Project lineage
Openplan is a fork of Postplan by Theo Browne. New interfaces use the Openplan
name, while some Postplan identifiers remain as deprecated compatibility
aliases. The upstream copyright notice is preserved in LICENSE.
License
MIT
