
Security News
White House Authorizes Private Companies to Conduct Offensive Cyber Operations
A new federal program will let vetted U.S. cybersecurity firms help investigate and disrupt foreign cybercrime groups under government direction.
@topogram/cli
Advanced tools
This folder contains the Topogram implementation: parser, validator, resolver, generators, runtime bundle emitters, and CLI.
The active product workflow is authoring-to-generated-app. Engine development should stay separate from user-facing demos.
The engine is the publishable private CLI package:
{
"name": "@topogram/cli",
"bin": {
"topogram": "./src/cli.js"
}
}
This lets source checkouts and private-package consumers call:
topogram new ../my-app
topogram version
topogram version --json
topogram doctor
topogram check
topogram generate
topogram catalog list
topogram catalog show todo
topogram catalog check topograms.catalog.json
topogram catalog copy hello ../hello-topogram
topogram import ../existing-app --out ../imported-topogram
topogram import check ../imported-topogram
topogram release status
topogram package update-cli --latest
topogram source status ../hello-topogram --local
topogram source status ../hello-topogram --remote
topogram template list
topogram template explain
topogram template status
topogram template policy check
topogram template policy pin @scope/template@0.2.0
topogram template check ../my-template
topogram template update --plan
topogram trust template
Publishing is manual through the repo-level Publish CLI Package workflow. Create generated projects outside engine/; this directory is source and test code.
From the repo root, prefer:
npm run smoke:test-app
npm run cli:check
npm run new -- ./my-topogram-app
src/ - engine sourcetests/active/ - retained active engine teststests/fixtures/templates/ - local template fixtures used by engine teststests/fixtures/workspaces/ - engine-owned Topogram workspacestests/fixtures/expected/ - engine-owned golden outputstests/fixtures/invalid/ - invalid model casesThe generated Todo demo and Todo starter template live outside this repo in topogram-demo-todo and topogram-template-todo.
The current generated-app regression fixture is:
tests/fixtures/workspaces/app-basic/
tests/fixtures/expected/app-basic/
It is a fixture, not a user example.
Run the engine gate:
npm run check
Create a starter project from the catalog-backed default hello-web alias:
topogram new ../my-topogram-app --template hello-web
cd ../my-topogram-app
npm install
npm run doctor
npm run check
Choose another catalog starter with the template commands:
topogram template list
topogram template show web-api
topogram new ../web-api-demo --template web-api
Create a starter project from a shared template package:
topogram new ../todo-demo --template @topogram/template-todo
topogram new ../todo-demo --template todo
Catalog aliases resolve through the private catalog index at
github:attebury/topograms/topograms.catalog.json. The catalog is package
backed; executable starter content still lives in template packages. Use
topogram catalog show <id> to inspect an entry and get the correct new or
copy command for that kind. Use topogram template show <id> when the entry
is known to be a starter template and you want the direct topogram new flow.
Pure
topogram catalog entries can be copied for editing with
topogram catalog copy <id> <target>. Copied topogram projects record
.topogram-source.json; inspect local drift from that import baseline with
topogram source status <target> --local. This metadata is provenance only and does not
block local edits, checks, or generation. Template baseline divergence means the
local project owns those edits; executable implementation trust is the separate
state that can block generation until reviewed.
Run topogram template detach <target> when the project should stop tracking
template update metadata while keeping normal check/generate behavior.
Do not create generated projects under engine/. The CLI refuses paths inside the engine directory.
Template pack authoring and trust policy are documented in ../docs/template-authoring.md.
Catalog layout and private access are documented in ../docs/catalog.md.
Projects created from executable templates include .topogram-template-trust.json;
regenerate it with topogram trust template after reviewing copied
implementation/ code. Use topogram template status for the lifecycle
summary, then topogram trust status and topogram trust diff to inspect
changed files before refreshing trust.
Projects also include topogram.template-policy.json, the allow policy used by
template update and template check commands. It can restrict candidate template
sources, template ids, package scopes, executable-template behavior, and pinned
template versions:
topogram template policy check
topogram template policy explain
topogram template policy init
topogram template policy pin @scope/template@0.2.0
Use topogram template policy explain for a rule-by-rule view of the current
project template, package scope, catalog provenance, executable implementation
setting, and pinned version state.
Use topogram template status --latest and topogram template update --latest
only for package-backed templates when an explicit registry lookup is desired.
Plain status and update commands do not query the registry.
Use topogram template update --status [--template <spec>] to inspect current
template adoption state with baseline and conflict analysis. Use
topogram template update --recommend [--template <spec>] for a concise
human/agent next-step summary before applying, adopting, or deleting files. Use
topogram template update --plan [--template <spec>] to compare the current
project with a candidate template without writing files. Use
topogram template update --check [--template <spec>] as the no-write CI guard;
it exits nonzero when the project is not aligned with the recorded or supplied
template. Any update mode can write a machine-readable review report with
--out <path>. After review, topogram template update --apply [--template <spec>] writes added/changed template-owned files, records a new
.topogram-template-files.json baseline, skips deletes, and refuses local
conflicts. Existing projects can run topogram trust template after review to
record the first template-owned file baseline. JSON output includes structured
diagnostics with codes, paths, suggested fixes, and workflow steps.
Single-file adoption actions are explicit and baseline-aware:
--accept-current <file> records the current file as the trusted baseline,
--accept-candidate <file> applies one candidate file after baseline checks,
and --delete-current <file> deletes one current-only file only when it still
matches the trusted baseline.
Template authors can run topogram template check <template-spec-or-path> to
validate manifest/layout, temporary starter creation, starter checks, trust
metadata, and no-write update planning. The JSON form reports structured
diagnostics with codes, paths, and suggested fixes for authoring feedback.
Run the same gate directly:
npm test
Run only the active fixture validity check:
npm run fixture:check
Inspect the active fixture topology as JSON:
npm run fixture:check:json
Generate the active fixture app bundle:
npm run fixture:generate
Run the app-generation workflow test:
node --test ./tests/active/generated-app-workflow.test.js
Validate or generate through the public CLI shape:
node ./src/cli.js check ./tests/fixtures/workspaces/app-basic
node ./src/cli.js generate ./tests/fixtures/workspaces/app-basic --out /tmp/topogram-app
FAQs
Topogram CLI for checking Topogram workspaces and generating app bundles.
The npm package @topogram/cli receives a total of 98 weekly downloads. As such, @topogram/cli popularity was classified as not popular.
We found that @topogram/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
A new federal program will let vetted U.S. cybersecurity firms help investigate and disrupt foreign cybercrime groups under government direction.

Research
/Security News
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.