Managing Projects
Projects are the core unit of organization in SourcePrep. A project connects a local codebase directory to a Knowledge Index and Trace Graph.
Adding Projects
You can add projects via the CLI (prep add .) or directly in the Dashboard.
- Open the SourcePrep desktop app.
- Click the "+" button in the sidebar project list.
- Select your repository folder using the file picker.
- Give it a friendly name (optional).
Screenshot: Add Project Modal
Show the 'Add Project' modal with path and name fields.
Indexing Status
Once added, SourcePrep starts learning about your codebase through the Knowledge Pipeline (Panel B) — first building the structural map, then layering in meaning and relationships:
- Structural Trace: (Rust) Fast parsing of your codebase structure.
- Vector Indexing: (Embeddings) Creating searchable chunks for the knowledge base.
Screenshot: Knowledge Pipeline
Show the pipeline list with active stages.
File Management
Use the Graph Scope panel (Panel A) to manage what gets indexed.
Excluding Files
SourcePrep respects your .gitignore automatically. To exclude additional files (like large assets or generated code) without git-ignoring them:
- Go to the Excluded tab in the Graph Scope panel.
- Use the interface to add patterns or manage ignored files.
Pinning Files
Important documentation or context files can be Pinned within the Scope view. Pinned files are prioritized in context assembly.
Screenshot: Graph Scope Panel
Show the Scope panel with pinned items or context menu.
Project Settings
Click the Settings tab in the dashboard to configure project-specific options.
- Include/Exclude Patterns: Fine-tune exactly which files are indexed. Use Auto-Detect Stack to have SourcePrep scan your repo and suggest patterns for your framework.
- File Size Limits: Adjust the max file size threshold (default 10MB) if you need to index large data files.
- Auto-Rebuild: Toggle the background watcher for this specific project.
Screenshot: Project Settings
Show the Project Settings panel with the Auto-Detect button visible.
