-
Notifications
You must be signed in to change notification settings - Fork 10
How to Use Lineage
This page explains the current Lineage flow for package authors and receivers.
curl -fsSL https://agenticlineage.vercel.app/install.sh | shThe installer downloads the right prebuilt binary for macOS or Linux, verifies
it against the published checksum, and installs it to ~/.lineage/bin.
Go developers can also build from source:
go install github.com/agentic-lineage/lineage/cmd/lineage@latestA 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).
If you want the package to be discoverable on the Lineage website, publish it to the registry. First authenticate with GitHub:
lineage login
lineage package publish ./resume-workflowThe first publish of a package name claims it for your verified GitHub login.
To publish an update, bump version in lineage.yaml and publish again with
the same identity.
Published packages appear at:
https://agenticlineage.vercel.app/packages
On the receiving end, the shortest path is:
lineage add resume-workflowlineage add fetches the package, verifies its digest, shows what it contains,
asks before enabling unless --yes is passed, and records it in the current
project.
Use an exact version when reproducibility matters:
lineage add resume-workflow@0.2.0You can still pull and enable separately if you want to inspect the imported copy first:
lineage package pull resume-workflow
lineage inspect resume-workflow
lineage enable resume-workflowFrom the project where you want to use the package:
lineage enable ./resume-workflowThis records the package in .lineage/config.yaml.
lineage list
lineage inspect resume-workflow
lineage doctorlist shows enabled packages in the current project. inspect shows package
contents and declared capabilities without enabling anything. doctor checks
project config, provider binary resolution, and shim setup.
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.
If a package declares an ordered workflow, run only that workflow's steps:
lineage workflow run resume-review claude --dry-run
lineage workflow run resume-review claudeWorkflow runs use the same dry-run and permission-gated materialization model as
plain lineage run.
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.
Declared filesystem and network capabilities are visible to receivers, but they are not a sandbox in this build.