-
Notifications
You must be signed in to change notification settings - Fork 12
How to Use Lineage
This page explains the simple flow.
A Lineage package is a normal folder with a lineage.yaml manifest.
package/
├── lineage.yaml
├── skills/
├── workflows/
├── agents/
├── policies/
├── references/
└── adapters/
These folders are plain on purpose. You should be able to inspect what a package contains.
lineage init userFor a named workspace:
lineage init workspace <name>lineage package init resume-workflowThen add the package files, skills, workflows, references, policies, or adapters that belong to that environment.
Before a package leaves your machine, check it's safe and complete:
lineage package validate ./resume-workflowThis runs the same manifest, export-authority, path-safety, and secret-scan checks that export uses, and prints the package's content digest, without enabling or writing anything.
lineage package export ./resume-workflow -o resume-workflow.tgzexport refuses to run if validation fails. The archive is deterministic —
exporting the same content twice always produces the same bytes and the
same digest — so a receiver can confirm they got exactly what you sent.
On the receiving machine:
lineage package import resume-workflow.tgzimport treats the archive as untrusted: it re-runs the full validation
pass against the extracted content before keeping it, the same as if you'd
run package validate yourself, and refuses to overwrite an
already-imported package (use --as to import under a different name).
From the project where you want to use the package:
lineage enable ./resume-workflowThis records the package in .lineage/config.yaml.
lineage run claude --dry-run
lineage run codex --dry-runThe dry run shows which provider, project config, and packages Lineage would use, and never writes anything.
lineage run claudeThe first time this would actually stage files for a provider — skills
into its own directory, a generated section into its context file — it
shows what it's about to create or change and asks for confirmation.
Answer y/yes, or pass --yes/-y to skip the prompt in scripts.
Re-running with an unchanged package set doesn't ask again.
Lineage can also install shims so normal provider commands enter Lineage first:
lineage install-shimsThen put the shim directory before existing provider binaries in PATH.
Do not package secrets, credentials, provider login state, private prompts, .env values, or machine-local cache files.
If a workflow needs receiver-specific values, package a template or setup prompt instead.