Locate Eden code components, key types, and architecture before reading files.
Overall this is a prompt-only skill for code research/navigation, with no declared secrets, remote endpoints, or local execution capability, so the risk is low. The main caution is that it may guide access to substantial local source code, which is a normal capability for a research tool.
No secrets, tokens, or environment variables are declared, and no credential collection or forwarding path is shown, so there is no evident credential abuse surface.
No remote endpoint hosts are listed, and there is no description of sending user data to external services, so no explicit network egress is shown.
It is classified as prompt-only, with no indication of spawning processes, executing code, or invoking system-level capabilities.
The skill guides reading component maps, architecture diagrams, and related source files under eden/, which is a normal local code navigation/research scope, with no sign of write access or extra data privileges.
The source is on GitHub and open source, which improves auditability; however, the license is undeclared, community adoption is 0 stars, and maintenance status is unknown, so supply-chain trust should remain conservative.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "eden_research" skill from askskill: 1. Download https://raw.githubusercontent.com/facebook/sapling/main/eden/.llms/skills/eden_research/SKILL.md 2. Save it as ~/.claude/skills/eden_research/SKILL.md 3. Reload skills and tell me it's ready
First load eden_research, then tell me which files contain the authorization-related component in Mononoke, and list them in the order of must-read, secondary, and reference.
A list of relevant files, a recommended reading order, and related types or architecture clues.
First load eden_research, summarize the relationships among EdenFS, Sapling, and Mononoke, and identify the key entry files and core type names for each system.
A concise architecture overview with the priority files and types to read for each system.
First load eden_research. I need to fix an issue in Sapling's commit flow; use the component map to tell me which files to read first and which supporting modules to review next.
A task-oriented reading path including core files, supporting modules, and key investigation points.
Oncalls: scm_client_infra · scm_server_infra · sapling
Eden is Meta's source control ecosystem comprising three major sub-projects that together provide fast, scalable version control for massive monorepos. EdenFS lazily virtualizes the filesystem, Sapling provides the CLI, and Mononoke serves as the backend.
eden/common/Developer's machine Meta's servers
┌──────────────────────────────────┐ ┌──────────────────────────────────┐
│ Sapling CLI (eden/scm/) │ │ Mononoke (eden/mononoke/) │
│ Rust + Python │ oncall: sapling │ │ Rust │ oncall: scm_server_infra │
│ User commands: sl status, │ │ │
│ sl commit, sl goto, sl rebase │ │ ┌────────────────────────────┐ │
│ │ │ │ │ SLAPI Server │ │
│ ▼ │ │ │ (servers/slapi/) │ │
│ EdenFS (eden/fs/) │ │ │ EdenAPI REST endpoints │ │
│ C++ │ oncall: scm_client_infra │ │ └───────────┬────────────────┘ │
│ Virtual filesystem daemon │ │ │ │
│ Lazy-loads files on demand │ │ ┌───────────▼────────────────┐ │
│ │ │ │ │ Mononoke API │ │
│ ┌────▼─────────────────┐ │ │ │ (mononoke_api/) │ │
│ │ SaplingBackingStore │─── EdenAPI ──▶│ └───────────┬────────────────┘ │
│ │ (Rust FFI bridge) │ │ │ │ │
│ └──────────────────────┘ │ │ ┌───────────▼────────────────┐ │
│ │ │ │ Blobstore Stack │ │
│ ┌──────────────────────────┐ │ │ │ prefix→cache→multiplex │ │
│ │ eden/common/ │ │ │ │ →pack→sqlblob/manifold │ │
│ │ Shared: ImmediateFuture, │ │ │ └────────────────────────────┘ │
│ │ PathFuncs, FaultInjector,│ │ │ │
│ │ TraceBus, RefPtr │ │ │ ┌────────────────────────────┐ │
│ └──────────────────────────┘ │ │ │ SCS Server (Thrift) │ │
│ │ │ │ (servers/scs/) │ │
└──────────────────────────────────┘ └──────────────────────────────────┘
Also: eden/integration/ (Python, end-to-end tests), eden/addons/ (TypeScript, Interactive Smartlog UI).
User process reads file
→ Kernel VFS → EdenFS FsChannel (FUSE/NFS/PrjFS)
→ Dispatcher → InodeMap → FileInode
→ materialized? → Overlay (local disk)
→ non-materialized? → BlobAccess → ObjectStore
→ BlobCache hit? → return
→ miss → SaplingBackingStore (Rust FFI)
→ EdenAPI HTTP → Mononoke SLAPI Server
→ Mononoke API → Blobstore Stack → storage
sl commit)User runs `sl commit`
→ Sapling CLI (Rust command dispatch)
→ workingcopy lib: scan EdenFS for changes (Thrift: getScmStatusV2)
→ EdenFS: diff working copy vs parent commit
→ Sapling: create commit object
→ EdenAPI client → Mononoke: upload trees + files + commit
sl goto)User runs `sl goto <rev>`
→ Sapling CLI → EdenFS Thrift: checkOutRevision()
→ EdenServiceHandler → EdenMount::checkout()
→ rootInode->checkout() → computeCheckoutActions(): diff old→new tree
→ CheckoutAction::run(): materialize/dematerialize inodes
…
Learn to build EdenAPI/SLAPI endpoints with streaming and non-streaming patterns.
Diagnose systemd-managed EdenFS failures, restarts, health, and lifecycle timelines.
Create a Mononoke server-side hook with 3-diff split (tests, wiring, implementation), unit tests, and integration tests
Write and run Markdown-driven end-to-end tests for Relay apps.
Get idiomatic Relay guidance for React code, debugging, and code reviews.
Apply the right commit prefix, reviewer, and test plan for code changes.
Query, understand, and edit large multilingual codebases with AI knowledge graphs.
Search the EU component library docs and retrieve code recipes fast.
Audit code, query knowledge graphs, and generate project docs through MCP.
Query and understand large codebases with a fast knowledge graph for AI agents.
Analyze UI architecture and estimate reusable code blocks from designs or web pages.
Index a monorepo into a graph for fast code structure queries.