@upmaru/tama-kit
v0.3.3
Published
Bootstrap local Tama runtimes and build, manage, and audit Tama Terraform graph networks.
Maintainers
Readme
Tama Kit
Tama Kit is a domain-neutral ChatGPT and Codex plugin for building, changing, and auditing Tama Terraform graph networks. It combines focused graph skills with a workspace-specific Tama MCP connection. The skills cover routed conversations, direct forwarded actions, shared replies, ingestion, enrichment, embeddings, indexing, batch reprocessing, the required global foundation, and Terraform-safe graph migration.
Bootstrap a local Tama runtime
Tama Kit also ships a conventional CLI for adding a local Tama runtime and a starter Terraform root to an existing Rails, Phoenix, Node, or generic application repository:
npx @upmaru/tama-kit bootstrapAfter a global npm installation, the equivalent command is:
tama-kit bootstrapBootstrap detects the project and its default Docker Compose file, creates a
private .tama.env, adds managed Tama and PostgreSQL services, and generates a
tama/ Terraform root with one version-pinned module "global". It preserves
an existing global-foundation address and refuses ambiguous ownership rather
than creating duplicate data-bearing resources.
Generated non-sensitive files are tracked by tama/.tama-kit.json. If a
tracked file has been edited since the previous bootstrap, Tama Kit stops and
reports the drift instead of overwriting the user's changes.
Inspect the proposed changes without writing:
npx @upmaru/tama-kit bootstrap --dry-runGenerate and start the local services:
npx @upmaru/tama-kit bootstrap --startThe first release uses Tama's supported interactive setup flow to create root
and provisioner credentials. Bootstrap does not use the test-only provisioner
path and never runs terraform apply.
Installation
Codex
Tama Kit is distributed as a plugin containing the
graph-builder and graph-audit skills. The plugin is downloaded
from npm through the Upmaru marketplace; installing the npm package by itself
does not enable the plugin in ChatGPT or Codex.
This installation path requires the Codex CLI with plugin support, Node.js 20 or newer, and an npm CLI available on your system.
Add the marketplace and install the plugin:
codex plugin marketplace add upmaru/tama-kit
codex plugin add tama-kit@upmaruStart a new Codex session after installation so Codex can load the bundled skills. You can then invoke either skill explicitly:
$graph-builder
$graph-auditFor example:
Use $graph-builder to add a routed support-search component with plain and
artifact replies, then verify every trigger-to-terminal path.To confirm the plugin is installed:
codex plugin listOpenCode
OpenCode loads Agent Skills directly; it does not use the Codex plugin manifest. Install both Tama Kit skills globally with the Skills CLI:
npx skills add upmaru/tama-kit \
--agent opencode \
--global \
--yesFor a project-only installation, run the same command from the project root
without --global:
npx skills add upmaru/tama-kit \
--agent opencode \
--yesStart a new OpenCode session after installation, then ask it to use
graph-builder or graph-audit. You may install just one of the two skills
by adding --skill graph-builder or --skill graph-audit. These steps install
only the skills; configure your workspace-specific Tama MCP server separately
when runtime inspection is needed. See the Skills CLI,
OpenCode's official Agent Skills, and
MCP servers documentation.
Included skills
graph-builder designs, implements, extends, migrates, and removes graph
slices. It models execution edges, control edges, operational policy, terminals,
and Terraform lifecycle impact before editing.
graph-audit traces existing graphs without editing them. It reports
incomplete topology, missing control edges, unsafe lifecycle changes, and
runtime unknowns with exact evidence.
Development
The bundled maintenance utilities and Terraform inspector are dependency-free
Node.js ES modules; no Python runtime is required. The CLI remains native ESM
and uses JSDoc contracts with a no-emit TypeScript check, so development does
not require a compiled dist/ tree.
Memovee-derived forward-test cases live in evals/cases.json; public skill
references remain domain-neutral. Validate the public-directory metadata,
Template MCP scaffold, and review cases with:
npm run check
npm run typecheck
npm test
npm run validate:bootstrap
npm run validate:submissionnpm run check verifies formatting, lint rules, and import ordering with Biome.
Use npm run check:fix to apply its safe fixes and formatter output locally.
The public Template MCP connection is intentionally not represented by a fake local endpoint. Configure the review materials with a concrete, working example endpoint:
npm run configure:mcp -- \
--example-url "$TAMA_KIT_EXAMPLE_MCP_URL"The example URL must be publicly reachable and must match the committed
https://{host}/mcp template. Tama deployments expose Streamable HTTP at
/mcp; their OAuth discovery metadata remains owned by each deployment.
The OpenAI Platform draft identifier shown as asdk_app_v_... belongs to the
draft URL and is not an MCP app ID, package setting, or .app.json value.
After configuration, run the review-readiness gate and build the distributable plugin ZIP:
npm run validate:review
npm run build:submissionThe archive is written to dist/tama-kit-<version>.zip. In the OpenAI Platform
draft, enter the Example and Template MCP Server URLs directly and upload the
final skill bundles from skills/. Portal test cases remain in
evals/cases.json because they are review materials rather than plugin runtime
files. Copy-ready listing URLs, selected review cases, and release notes live in
submission/portal.json.
Template MCP URLs are available only to trusted OpenAI developers with an established relationship. The OpenAI review also requires a verified publisher, Apps Management write access, and a public non-test example MCP endpoint. See the official plugin packaging and submission requirements.
License
Tama Kit is licensed under the Apache License 2.0.
