ingest

Index repository code and markdown into a memory graph with deterministic extractors.

20|2|Updated May 16, 2026
One-click install
npx skills add https://github.com/reddb-io/red-skills --skill ingest-reddb-io
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ingest
Source: https://github.com/reddb-io/red-skills/tree/main/plugins/memory/skills/core/ingest
Command: npx skills add https://github.com/reddb-io/red-skills --skill ingest-reddb-io

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI agents lose project context after resets and repeatedly rediscover codebase structure. This Skill walks a repository tree and populates a persistent memory graph with symbols, files, headings, concepts, and the edges between them, so recall can answer structural questions without re-reading the codebase. ## Core Features & Use Cases - Deterministic Graph Extraction: Parses TypeScript, JavaScript, Python, Go, and Rust files into file and symbol nodes with DEFINED_IN edges, plus import nodes with IMPORTS edges for TS/JS static imports and re-exports. - Markdown Concept Indexing: Converts markdown files into concept nodes per file and per h1-h3 heading, with REFERENCES edges for every [[wiki-link]] and stored doc chunks for later search. - Incremental Refresh: Uses content-hash dedupe and a per-file manifest so re-ingesting unchanged trees is a no-op, with hook-friendly --staged and --stdin modes for git workflows. - Large Repo Scoping: Supports --scope core/libs and a committed .memoryignore file to control what gets graphed in monorepos. - Use Case: After running memory init --mode graph, ingest your monorepo with the core scope so the agent can recall module structure, symbol locations, and documentation concepts before planning code changes. ## Quick Start Ask the agent to ingest the current repository into the memory graph and report the file, node, edge, and doc counts.

Frequently Asked Questions about ingest

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I index a codebase into a memory graph for an AI agent?▼

Run memory init --mode graph first, then run the ingest command on the target directory. The extractor walks the tree and creates file, symbol, import, and concept nodes with edges, deduplicating by content hash so repeat runs are cheap.

What file types does repository graph ingestion support?▼

Code extraction covers .ts, .tsx, .js, .jsx, .py, .go, and .rs files, producing file and symbol nodes. TypeScript and JavaScript additionally produce import nodes, and markdown files become concept nodes with wiki-link reference edges.

How do I exclude files when indexing a large monorepo?▼

Use --scope core or --scope libs to skip tests, examples, and vendored trees, or run --scope generate-ignore to write a committed .memoryignore file with gitignore-style patterns. Every later ingest and refresh honours it automatically.

How do I keep the memory graph fresh after editing files?▼

Use memory refresh with specific files, --staged, or --stdin from git hooks. It stores a per-file content hash manifest, skips unchanged files, and reports added, updated, skipped, and stale graph elements without requiring a daemon.

Why does ingest report nothing to write to?▼

Ingest only works when memory is initialized with --mode graph; in markdown-only mode there is no graph store to populate. Re-run memory init --mode graph, then ingest again.

Does repository ingestion build call graphs or type graphs?▼

No. This slice extracts symbols, TS/JS static imports and re-exports, and markdown structure only. Call and type relationship graphs are not part of the current deterministic extraction surface.