Environments¶
Named environments let you capture and switch between different skill configurations without losing the ability to update individual skills.
How they work¶
An environment is a manifest file that records which skills are installed and at which commit. It does not store a copy of the skill trees.
.agents/environments/
├── office.lock # project-scoped manifest
├── home.lock
└── travel.lock
Activating an environment checks out the recorded commits into the active runtime tree. Deactivating restores the runtime that preceded activation.
Create an environment¶
trv env create office
This captures the current .agents/skills/ state and writes a manifest to
.agents/environments/office.lock.
Global environments (trv env create office --global) are stored under
~/.trivium/environments/ and can be activated from any project.
Activate an environment¶
trv env activate office
trv env activate office --global
Activation is reproducible and never advances a pinned commit. Use
trv update inside an active environment to intentionally update pinned
revisions.
Automatic manifest updates¶
While an environment is active, trv add, trv update, and trv remove
automatically update the active manifest to match the new runtime state.
Global manifest locking¶
Global manifest mutations use a filesystem lock so concurrent operations wait for one another instead of writing at the same time. The lock coordinates access to shared global environment metadata; it is not part of the manifest contents.
Namespaces¶
Project and global environments use separate, explicit namespaces. There is no implicit fallback from project to global, and activation never creates a project-local copy of a global manifest.