A Universal Directory Onboarding. Instantly understand any folder.
Scout is an AI-powered directory analyzer that turns any folder into a readable story.
It scans files, detects the domain (Software, Medical, Legal, Creative, etc.), and generates a clean summary using a local Llama 3.2 model β ensuring zero cloud dependency.
Use Scout when:
- inheriting a legacy project
- joining a new codebase
- cleaning up messy folders
- onboarding teammates
- reviewing documents or reports
Scout extracts structure, intent, and βwhere to startβ guidance so you donβt have to dig manually.
- π§ Domain-aware insights: Recognizes codebases, financial docs, creative assets, research folders, and more.
- π Local-first & private: Runs on your machine using GGUF models (Llama 3.2). No APIs. No tracking.
- β‘οΈ Fast filesystem scanner: Ignores noise (
node_modules,.git, caches) and extracts useful metadata only. - π Built-in interactive shell: Includes
cd,ls,pwd, and the powerfulscanalyzer command. - π Multi-format extraction: Reads previews from PDFs, DOCX, Markdown, spreadsheets, images, and code.
Scout includes a Makefile that automates setup, verification, building, and running.
This is the recommended way to install and use Scout locally. For a manual alternative, see the Detailed Installation section below.
- Go 1.21+ (install via golang.org/dl or your package manager, e.g.,
brew install go). - A C compiler (GCC or Clang for CGO):
- macOS:
xcode-select --installorbrew install gcc. - Linux (Ubuntu/Debian):
sudo apt install build-essential. - Windows: Use WSL
- macOS:
- Llama 3.2 GGUF model (recommended:
llama-3.2-3b-instruct-q4_k_m.gguf).
Download from: Hugging Face.
git clone https://github.com/DeleMike/scout.git
cd scoutmake setupThis creates the required directory structure:
.scout/
llama/ # place libllama.dylib (macOS) or libllama.so (Linux) here
model/ # place your GGUF model here
Scout relies on llama.cpp for local inference. Install the shared library (libllama.dylib on macOS or libllama.so on Linux):
Go Integration (via YZMA):
go get github.com/hybridgroup/yzma/pkg/llama@latest
go mod tidy(YZMA bundles libs; follow its docs to extract libllama if needed.)
Copy the library to .scout/llama/.
Copy the downloaded GGUF model to .scout/model/.
make checkThis confirms:
- βοΈ Model exists
- βοΈ Llama runtime library exists
If issues arise (e.g., "Library not loaded"), set library paths:
- macOS:
export DYLD_LIBRARY_PATH="$(pwd)/.scout/llama:$DYLD_LIBRARY_PATH" - Linux:
export LD_LIBRARY_PATH="$(pwd)/.scout/llama:$LD_LIBRARY_PATH"
make buildOutputs:
bin/scout-core(core binary)bin/scout(wrapper script)
make runOr directly:
./bin/scoutsudo mv bin/scout /usr/local/bin/Now run scout from anywhere.
Add to ~/.zshrc or ~/.bashrc:
export YZMA_LIB="$(pwd)/.scout/llama"
export DYLD_LIBRARY_PATH="$(pwd)/.scout/llama" # macOS
# export LD_LIBRARY_PATH="$(pwd)/.scout/llama" # Linux
export SCOUT_MODEL="$(pwd)/.scout/model/llama-3.2-3b-instruct-q4_k_m.gguf"Verify: echo $YZMA_LIB && echo $SCOUT_MODEL.
If you prefer not to use the Makefile:
Follow the steps in Step 3 above.
go mod tidy
CGO_ENABLED=1 go build -o scout ./cmd/scout/main.goManually create:
mkdir -p .scout/model .scout/llamaPlace files as described in Step 2.
As in Step 6 above.
Launch Scout to enter the shell:
./bin/scoutCommands:
scout> ls # List files
scout> cd ../legacy-code # Navigate directories
scout> scout # Analyze the current folder
scout> sc ./frontend # Analyze a specific subfolderRun Scout directly from your terminal to scan a folder and exit immediately. Perfect for quick checks.
# Scan current directory
scout .
sc "."
# Scan a specific path
sc /Users/dev/projects/My-Go-Project
scout "/Users/dev/projects/My-Go-Project"Need to share the analysis? Pipe the output to a text file
scout . >> analysis_report.txt
sc "/Users/dev/projects/My-Go-Project" >> report.txtπ Scouting: /Users/mac/projects/My-Go-Project
β
Found 42 files (88% confidence: Software Domain)
π€ Generating AI insights...
================================================================================
π This folder contains:
- 18 Go source files
- 5 YAML configuration files
- 42 files total
π― Likely Purpose:
A high-throughput logging service written in Go, designed to ingest and
store event data efficiently.
π Highlights:
- Common Technology: Go (Backend), SQLite (Storage), Docker (Deployment)
- Key Pattern: Uses a worker-pool pattern for concurrent log processing.
- Content Insight: "main.go" initializes a TCP server on port 9000.
π Suggestions:
- Start by reading "internal/ingest/worker.go" to understand the concurrency model.
- Check "docker-compose.yml" to see how the database is orchestrated.
================================================================================
We welcome contributions, especially around:
- new extractors (PPTX, EPUB, media metadata)
- better domain heuristics
- performance improvements
- Windows support for local LLMs
Steps:
- Fork the repo
git checkout -b feature/my-feature- Commit + push
- Open a PR
Licensed under the MIT License. See the LICENSE file.
