Expand description
The agentlink domain.
agentlink gives every AI coding agent in a repository the same brain, without copying a single file. It does that by exploiting a fact about the 2026 ecosystem: for the resources that matter most, the format has already converged and only the location differs.
- Instructions converged on
AGENTS.md(Linux Foundation, December 2025). - Skills converged on Agent Skills /
SKILL.md(open specification, December 2025), read by 30+ tools.
So each pairing of an agent with a resource resolves to one of four verdicts:
| Verdict | Meaning | Cost |
|---|---|---|
Native | the tool already reads the canonical path | zero |
Link | same format, different path | one link |
Import | link impossible; write a one-line stub | one small file |
plan::Blocked | needs a human decision | nothing is written |
The payoff is that bidirectional propagation is not a feature anyone has to
implement. For a Native or Link verdict there is exactly one inode, so
editing, renaming, moving or deleting through any agent’s path is immediately
visible to every other agent — with no daemon, no watcher and no
reconciliation pass.
§Layering
agentlink-cli composition root, human-facing output
↓
agentlink-domain this crate: pure domain, no `std::fs`
↑
agentlink-fs adapter implementing [`Workspace`] against a real directoryEverything here is deterministic and testable without a filesystem: planning
is a pure function of observable state, and [testing::FakeWorkspace]
simulates hosts — including Windows without symlink privileges — that a given
CI runner cannot otherwise reproduce.
Re-exports§
pub use apply::ApplyReport;pub use apply::apply;pub use config::Config;pub use layout::Layout;pub use lock::Lock;pub use model::LinkSupport;pub use model::LinkTarget;pub use model::NodeKind;pub use model::ResourceKind;pub use model::Strategy;pub use model::Via;pub use path::RelPath;pub use plan::Blocked;pub use plan::Outcome;pub use plan::Plan;pub use plan::Planner;pub use plan::Skip;pub use plan::Step;pub use provider::Capability;pub use provider::Provider;pub use registry::Registry;pub use workspace::FsError;pub use workspace::FsResult;pub use workspace::Workspace;
Modules§
- apply
- Executing a plan.
- config
- Workspace configuration (
.agentlink/config.toml). - detect
- Which agents this repository shows evidence of already using.
- gitignore
- Maintaining a managed block in
.gitignore. - layout
- The canonical layout: the single source of truth on disk.
- lock
- The ownership record.
- model
- Core vocabulary: what can be shared, and how it gets put in place.
- path
- Workspace-relative paths.
- plan
- The capability lattice: deciding what, if anything, to do.
- provider
- Providers are data, not code.
- registry
- The set of agents agentlink knows how to serve.
- workspace
- The filesystem port.
Constants§
- VERSION
- The version of the
agentlinkcrate, surfaced in--versionand lock files.