Deployment Model
Link is designed as a local personal or repo-local memory layer. Each developer runs the CLI, optional skills, and MCP server on their own machine. The web viewer is optional and only serves the local UI.
lnk serve is only the human web viewer. CLI, skills, and MCP access work directly against local Markdown files when the viewer is closed.
brew install gowtham0992/link/link
lnk init ~/link
lnk health ~/link
lnk connect codex ~/link
Data Boundaries
raw/contains private source material and is gitignored by default.wiki/contains structured Markdown pages, memories, logs, and backlinks.link-mcptalks over stdio to the local agent client. It does not requireserve.py.- The installed product has no telemetry, hosted backend, or outbound API calls.
- Secret-looking values are scanned before capture, ingest, Obsidian import, and doctor checks.
lnk ingest-status ~/link
lnk doctor ~/link
lnk validate ~/link
Memory Approval Gates
Agents can propose memories, but durable memory should be explicit and reviewable. Link keeps memory as Markdown with type, scope, visibility, project, source, review status, optional review dates, and optional expiry dates.
lnk propose-memories raw/notes.md ~/link
lnk memory-inbox ~/link
lnk review-memory memory-name ~/link
lnk archive-memory memory-name ~/link --reason stale
For temporary context, use expires_at. For decisions that should be re-confirmed, use review_after. For team handoff, keep personal context at visibility: private and only mark memories project or team after the user explicitly approves sharing them.
Team Sharing Pattern
The safest early team workflow is Git-backed sharing of reviewed wiki pages. Keep raw sources local unless the team explicitly decides to share them.
lnk team-sync ~/link --remote git@example.com:team/link-memory.git
lnk compliance-export ~/link --output link-audit.json
lnk backup ~/link
lnk team-sync is read-only. It checks Git state, raw-source protection, review readiness, and whether active visibility: private memories would be swept into a broad git add wiki. It prints paste-safe commands instead of pushing data for you.
Audit Packet
lnk compliance-export creates a redacted JSON packet for review. It includes readiness, validation status, memory review counts, operation markers, recent audit log metadata, and safe next actions. Raw source contents and memory bodies are excluded.
lnk compliance-export ~/link --output link-audit.json
lnk wins ~/link
lnk memory-log ~/link
Current Limits
- Link is local-first and single-user by default. It is not an SSO-backed team server.
- The local web viewer has no authentication and should not be exposed beyond loopback.
- Git sharing is intentionally manual so teams see exactly what is being committed.
- Access control is currently based on local files, project filters, and review workflow, not centralized RBAC.
Security Review Checklist
- Run
lnk health ~/linkand verify readiness is green. - Run
lnk doctor ~/linkand resolve secret or validation warnings. - Run
lnk compliance-export ~/link --output link-audit.json. - Confirm
raw/, backups, caches, and local MCP Python markers are ignored by Git. - Review
wiki/log.md,lnk memory-log ~/link, andlnk wins ~/link. - Only share reviewed
wiki/pages whose memories are markedvisibility: projectorvisibility: team.