Skip to main content

create-vivary

create-vivary installs Vivary's lightweight, local-first governed-context contract. It gives agents one visible state surface, a bounded context capsule, provenance and verification hooks, and deliberate human gates without copying a framework into the workspace.

Published version truth lives in the root release status. create-vivary 0.4.3 and @vivary/create 0.4.3 ship together and require vivary-tropo>=0.5.3.

New workspaces

uvx create-vivary init my-workspace --preset coding
create-vivary doctor my-workspace --json
tropo check --root my-workspace

A default greenfield init creates exactly five files:

  • Vivary payload: .vivary/context.md, .vivary/workspace.toml, and STATE.md.
  • Host integration: AGENTS.md and .gitignore.

It does not copy templates, runtime skills, placeholders, starter records, or framework prose. --adapter agents and --adapter claude add at most one bounded adapter file each. --active-context cocoindex-code is also explicit but keeps the five-file seed: it declares the capability and ignores .cocoindex_code/. It does not copy guidance, install CocoIndex-code, create an index, enable MCP, or send source.

Storage and semantic-memory config remain explicit options. Non-interactive init without those options stays file-backed and writes no optional provider config. Obsidian setup is no longer scaffolded by thin init; configure the editor separately.

Existing repositories and vaults

Adoption is a deterministic dry-run/apply transaction:

create-vivary adopt . --json
create-vivary adopt . --yes --plan sha256:<plan-hash> --json
# After an interrupted transaction only:
create-vivary adopt . --recover sha256:<plan-hash> --json
create-vivary adopt . --recover sha256:<plan-hash> \
  --yes --plan sha256:<recovery-plan-hash> --json

The preview reports creates, managed patches, optional_projections, kept, conflicts, privacy checks, and plan_hash. Apply accepts only that exact plan and revalidates kept files before writing. The first recovery command is read-only. It returns the exact recovery plan hash that must receive separate approval before the second command rolls the transaction back.

Brownfield adoption is capped at three Vivary payload creates: .vivary/context.md, .vivary/workspace.toml, and STATE.md when it is absent. Independently, adoption may create or patch the bounded Vivary blocks in AGENTS.md and .gitignore. It never copies templates, skills, starter graph records, or placeholders, and it never overwrites arbitrary user content. Conflicts fail closed.

Privacy is checked before payload writes. Apply uses a local transaction journal and exact-byte backups so an ordinary failure rolls back and an interrupted transaction can be recovered explicitly.

Doctor and compatibility

doctor validates thin workspace metadata, the context capsule, startup reachability, privacy rules, optional adapters, and pending adoption recovery. Plain Doctor is read-only; --trend is the explicit mode that writes runtime trend state.

Doctor also reads older full Vivary workspaces without migrating or regenerating them. Its versioned compatibility report uses schema_version = 2: new workspaces report workspace_contract = "thin-v0.3"; old workspaces report workspace_contract = "legacy-full" plus their detected legacy layout.

Tropo resolves .vivary/workspace.toml as the thin base policy. A root or nested tropo.toml may tighten that policy but may not expand its scope. Competing thin roots fail closed.

MCP is optional. When selected, it is local stdio and read-only by default.

One earned record

Vivary can maintain the minimal workspace without turning MCP into a write surface. After governed Tropo returns a full Task Capsule JSON—or the optional vivary_capsule MCP tool returns its public projection—save that complete capsule object, prepare one typed Markdown file, and preview a capsule-bound plan:

create-vivary record . changes/verified-slice.md \
  --from ./verified-slice.md \
  --capsule ./task-capsule.json \
  --json

create-vivary record . changes/verified-slice.md \
  --from ./verified-slice.md \
  --capsule ./task-capsule.json \
  --yes --plan sha256:<approved-plan-hash> --json

The first call is read-only and verifies the capsule's canonical integrity, exact workspace scope or fingerprint, and current workspace state. The second creates or updates exactly one validated record under .vivary/records/, reruns Doctor, and rolls back on failure. There is no batch, starter-pack, or automatic second-brain materialization mode. An optional --receipt .vivary/runtime/receipts.jsonl records only privacy-preserving command metadata.

Other commands

create-vivary capabilities --preset coding --json
create-vivary doctor . --receipt .vivary/receipts.jsonl
create-vivary wizard . --storage embedded --yes --json

Local receipts contain command-envelope metadata only. They do not capture stdout, stderr, file contents, target paths, preset values, or environment variables.

The @vivary/create npm package is a shell-free launcher that forwards arguments to this Python implementation. Python 3.11+ is required.

Development

python packages/create-vivary/tests/test_adopt.py
python packages/create-vivary/tests/test_init_thin.py
python packages/create-vivary/tests/test_record_workflow.py
python packages/create-vivary/tests/test_create_vivary.py
python packages/tropo/tropo.py check --root <workspace>

Website and docs: https://vivary.vercel.app/

Release files for create-vivary 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for create-vivary 0.4.3
File Size Uploaded
create_vivary-0.4.3.tar.gz 84.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for create-vivary 0.4.3
File Interpreter ABI Platform
create_vivary-0.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 169.3 kB

Release files / create_vivary-0.4.3.tar.gz

Download URL create_vivary-0.4.3.tar.gz
Size 84.5 kB
Tags Source
SHA-256 checksum
How to use checksums
82a65cd978ca70ef7ee1d47d90ad017521ac214b4443a5d6052f55883f6945a8
BLAKE2b-256 checksum
How to use checksums
f8e2f92b0ba29bcf04752d006afc0d38846f05ef806e593c0e258565ee893313
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / create_vivary-0.4.3-py3-none-any.whl

Download URL create_vivary-0.4.3-py3-none-any.whl
Size 84.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1adf485e06442294ed66197fa5b4c411deca725ee5c24c4336c4d3830c4f59fc
BLAKE2b-256 checksum
How to use checksums
b223c5a958fdc5b4215c98b3cd89814b3735740d01292e02eaca4889d8b44c30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.4.3 This release

2 release files

0.4.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page