Skip to main content

Crate agentlink_domain

Crate agentlink_domain 

Source
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:

VerdictMeaningCost
Nativethe tool already reads the canonical pathzero
Linksame format, different pathone link
Importlink impossible; write a one-line stubone small file
plan::Blockedneeds a human decisionnothing 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 directory

Everything 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 agentlink crate, surfaced in --version and lock files.