- Rust 89.7%
- Shell 5.9%
- Python 4.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- Remove complex Cargo workspace structure and simplify to single package - Remove unused dependencies (clap, indicatif, rayon, serde, toml, walkdir) - Simplify CLI interface by removing verbose output and progress bars - Remove ignore pattern functionality (moved to external configuration) - Remove snapshot compression and streaming features - Remove watcher functionality and agent detection - Remove securestore integration and shadow git operations - Simplify core functionality to basic package management - Update documentation to reflect simplified architecture - Add comprehensive API documentation and architecture guides - Remove feast.toml configuration (simplified to basic CLI) - Focus on core git operations and package management only |
||
| ansible | ||
| docs | ||
| schemas | ||
| scripts | ||
| src | ||
| tests | ||
| utils/planning | ||
| .codeiumignore | ||
| .gitignore | ||
| .woodpecker.yml | ||
| Cargo.toml | ||
| feast.toml | ||
| packages.json | ||
| README.md | ||
| REGISTRY_GUIDE.md | ||
| TESTING.md | ||
Foodchain 🦊
Monorepo package manager and shadow VCS/git harness for Reynard.
Foodchain provides a decentralized and resilient mechanism to manage massive monorepos containing hundreds of standalone packages without the overhead of git submodules.
Important Distinction
Foodchain is NOT forgejo-client.
Foodchain serves as the monorepo package manager and shadow VCS/git harness, responsible for managing packages, Merkle snapshots, and git synchronization operations. In contrast, forgejo-client functions as the issue tracker harness, handling Forgejo API operations including issues, labels, repositories, and wiki management. This separation of concerns ensures that Foodchain focuses on package management and version control while forgejo-client handles issue tracking and Forgejo API interactions.
Documentation
Comprehensive documentation is available in the docs/ directory:
- REGISTRY_GUIDE.md - Complete package registry and management guide
- ai_allowlist_plan.md - AI editor access control planning
- issue-foodchain-allowlist-fix.md - Implementation gaps and fixes
- migration_issue_body.md - Issue migration procedures
- complete_issue_mapping.md - Repository issue mapping
- standardized_labels.md - Label system standardization
Quick Start
# Register all packages from scan_dirs based on your foodchain.toml config
foodchain register-all
# Sync (clone or pull) all packages based on their tracked git URLs
foodchain sync
# List tracked packages
foodchain list-packages
# Create manual snapshot
foodchain snapshot --name "before-ai-edit"
# Restore from snapshot
foodchain restore <snapshot-name>
# Watch directory for changes with auto-push
foodchain watch --root /path/to/workspace
Overview
Foodchain uses incredibly fast xxHash3 Merkle tree snapshots to capture file states, ignore build artifacts natively, and version your dependencies entirely decoupled from git's fragile submodule index.
Core Features
- Agent Safety: Automatically creates snapshots before edits, enabling easy rollbacks without conflicts with the primary
.gitrepository - Git Harness: Automatically tracks the
git_urlof each package, eliminating the need to manage hundreds of git submodules - Smart Ignore: Natively skips build artifacts like
target/,node_modules/, and__pycache__directories using the Ignore Filter - Watcher: Monitors directories for file changes and creates per-module git snapshots automatically with agent detection
- AI Allowlist: Controls which packages AI editors can access using reverse ignore patterns
Configuration
Foodchain uses a single feast.toml configuration file for both package manifests and foodchain settings. See REGISTRY_GUIDE.md for detailed configuration options.
Recent Updates
Repository Restoration (May 2026)
The foodchain repository was successfully restored after Git data corruption. The restoration involved:
- Recreating the repository structure with all existing files
- Implementing proper project organization with scripts moved to
scripts/forgejo/ - Adding comprehensive
.gitignorefor build artifacts and test files - Organizing documentation in
docs/and planning documents inutils/planning/
Memory Bloat Analysis
The watcher service memory bloat has been thoroughly analyzed in utils/planning/MEMORY_BLOAT_ANALYSIS.md, identifying multiple sources of memory growth and proposing phased solutions for optimization.
AI Editor Allowlist Implementation
The AI editor allowlist feature has been implemented with configuration support in feast.toml. See docs/ai_allowlist_plan.md for the original design and docs/issue-foodchain-allowlist-fix.md for implementation gap fixes.
Development
# Build
cargo build --release
# Run tests
cargo test
# Run specific test
cargo test registry
# Run watcher
cargo run -- watch --root /path/to/workspace
License
See LICENSE file for details.