Skip to content

codeflash-ai/afs

Repository files navigation

AgentFS

AgentFS mounts systems of record as real Markdown files that agents and editors can read, grep, and edit locally. Reads are implicit through the daemon. Writes are explicit by default through afs push, which validates, plans, journals, and applies changes back to the source with connector-specific APIs.

This repository contains the Rust workspace for the plan.md design and the first functional slices of the core sync engine, CLI, store, daemon hydration loop, and Notion connector.

Development

The root Makefile is the easiest way to run common project tasks:

make help

For a fresh checkout, install the desktop dependencies once:

make setup

Common targets:

Target What it does
make build Builds the Rust workspace and desktop frontend.
make check Runs Rust cargo check plus the desktop TypeScript/Vite build.
make test Runs the default Rust workspace test suite.
make ci Runs the same checks as GitHub Actions: Rust formatting and workspace tests.
make lint Runs Rust formatting checks and clippy with warnings denied.
make fmt Formats all Rust code.
make dev-desktop Starts the desktop Vite dev server at http://127.0.0.1:1420/.
make dev-tauri Starts the Tauri desktop app in development mode.
make build-tauri Builds the packaged Tauri desktop app.
make run-cli ARGS='status --json' Runs the afs CLI with custom arguments.
make clean Removes Rust and desktop build outputs.

Workspace layout

  • crates/afs-cli: afs command surface for humans and agents.
  • crates/afsd: per-user daemon supervising mounts, virtual filesystem projection requests, watchers, hydration, pull, and push orchestration.
  • crates/afs-fuse: Linux FUSE projection helper for linux_fuse mounts.
  • crates/afs-core: connector-agnostic sync engine, three-tree model, diff, planning, conflicts, hydration state, validation, and journal abstractions.
  • crates/afs-connector: connector SDK trait for enumerate, fetch, render, parse, and apply.
  • crates/afs-notion: first-party Notion connector with live page/block reads, database row projection, schema rendering, narrow block writes, and supported page-property writes.
  • crates/afs-store: state-store abstraction and SQLite implementation.
  • templates/mount/AGENTS.md: generated mount guidance template for coding agents.
  • docs/: design notes split by implementation surface.

Current status

The implementation is still early, but the main module boundaries are now exercised end to end: mount writes concise agent guidance, mount and pull can project a Notion root page into files, database rows appear as page stubs with property frontmatter, selected pages can hydrate, info explains local source context, status reports local dirty/stub/conflict state, simple block and supported property edits can push with journaling and reconciliation, daemon hydration requests and virtual filesystem metadata/write requests have tested execution paths, Linux FUSE has an initial mount helper, and afs daemon start|stop|status can run afsd as a user-managed background process.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors