grepai-workspaces
Original:🇺🇸 English
Translated
Configure multi-project workspaces in GrepAI. Use this skill for monorepos and multiple related projects.
8installs
Added on
NPX Install
npx skill4agent add yoanbernabeu/grepai-skills grepai-workspacesTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →GrepAI Workspaces
This skill covers using GrepAI workspaces to manage multiple related projects with a unified search index.
When to Use This Skill
- Working with monorepos
- Searching across multiple related projects
- Managing microservices architecture
- Organizing large codebases
What are Workspaces?
Workspaces allow you to:
- Group multiple projects together
- Search across all projects at once
- Or search specific projects within the workspace
- Share configuration across projects
Creating a Workspace
bash
grepai workspace create my-workspaceOutput:
✅ Workspace 'my-workspace' created
Location: ~/.grepai/workspaces/my-workspace/
Next: Add projects with 'grepai workspace add'Adding Projects
bash
# Add first project
grepai workspace add my-workspace /path/to/frontend
# Add more projects
grepai workspace add my-workspace /path/to/backend
grepai workspace add my-workspace /path/to/shared-libOutput:
✅ Added '/path/to/frontend' to workspace 'my-workspace'
Projects in workspace:
1. frontend (/path/to/frontend)
Run 'grepai watch --workspace my-workspace' to index all projects.Listing Workspaces
bash
grepai workspace listOutput:
📁 Workspaces
1. my-workspace
- Projects: 3
- Status: Not indexed
2. work-projects
- Projects: 5
- Status: Indexed (updated 2h ago)Viewing Workspace Details
bash
grepai workspace show my-workspaceOutput:
📁 Workspace: my-workspace
Projects:
1. frontend
Path: /path/to/frontend
Files: 450
Last indexed: 2025-01-28 10:30
2. backend
Path: /path/to/backend
Files: 320
Last indexed: 2025-01-28 10:30
3. shared-lib
Path: /path/to/shared-lib
Files: 85
Last indexed: 2025-01-28 10:30
Total: 855 files, 4,200 chunksIndexing a Workspace
bash
# Index all projects in workspace
grepai watch --workspace my-workspaceOutput:
🔍 Indexing workspace 'my-workspace'
[1/3] frontend...
Found 450 files, 2,100 chunks
[2/3] backend...
Found 320 files, 1,500 chunks
[3/3] shared-lib...
Found 85 files, 600 chunks
Total: 855 files, 4,200 chunks indexed
Watching for changes...Background Indexing
bash
grepai watch --workspace my-workspace --backgroundSearching Workspaces
Search All Projects
bash
grepai search --workspace my-workspace "user authentication"Results include project context:
Score: 0.89 | [backend] src/auth/middleware.go:15-45
──────────────────────────────────────────
func AuthMiddleware() ...
Score: 0.85 | [frontend] src/hooks/useAuth.ts:10-30
──────────────────────────────────────────
export function useAuth() ...
Score: 0.78 | [shared-lib] src/types/auth.ts:5-25
──────────────────────────────────────────
export interface AuthState ...Search Specific Project
bash
grepai search --workspace my-workspace --project frontend "form validation"Only searches the frontend project.
Workspace Status
bash
grepai workspace status my-workspaceOutput:
📊 Workspace Status: my-workspace
Projects: 3
Total files: 855
Total chunks: 4,200
Index size: 45 MB
Per-project breakdown:
┌─────────────┬───────┬────────┬──────────┐
│ Project │ Files │ Chunks │ Updated │
├─────────────┼───────┼────────┼──────────┤
│ frontend │ 450 │ 2,100 │ 2h ago │
│ backend │ 320 │ 1,500 │ 2h ago │
│ shared-lib │ 85 │ 600 │ 2h ago │
└─────────────┴───────┴────────┴──────────┘
Daemon: Running (PID 12345)Removing Projects from Workspace
bash
grepai workspace remove my-workspace /path/to/old-projectDeleting a Workspace
bash
grepai workspace delete my-workspaceThis removes the workspace configuration but NOT the project files.
Workspace Configuration
Workspaces store config in :
~/.grepai/workspaces/<name>/~/.grepai/workspaces/my-workspace/
├── workspace.yaml # Workspace config
├── index.gob # Combined index
└── symbols.gob # Combined symbolsworkspace.yaml
yaml
name: my-workspace
created: 2025-01-28T10:00:00Z
projects:
- name: frontend
path: /path/to/frontend
- name: backend
path: /path/to/backend
- name: shared-lib
path: /path/to/shared-lib
# Optional: override global config per workspace
embedder:
provider: ollama
model: nomic-embed-text
ignore:
- node_modules
- distMCP with Workspaces
Use workspaces with MCP servers:
json
{
"mcpServers": {
"grepai": {
"command": "grepai",
"args": ["mcp-serve", "--workspace", "my-workspace"]
}
}
}Use Cases
Monorepo
bash
# Full monorepo
grepai workspace create monorepo
grepai workspace add monorepo /path/to/monorepo/apps/web
grepai workspace add monorepo /path/to/monorepo/apps/mobile
grepai workspace add monorepo /path/to/monorepo/packages/ui
grepai workspace add monorepo /path/to/monorepo/packages/coreMicroservices
bash
# Related microservices
grepai workspace create services
grepai workspace add services /path/to/user-service
grepai workspace add services /path/to/order-service
grepai workspace add services /path/to/payment-service
grepai workspace add services /path/to/notification-serviceFrontend + Backend
bash
# Full stack
grepai workspace create fullstack
grepai workspace add fullstack /path/to/frontend
grepai workspace add fullstack /path/to/backend
grepai workspace add fullstack /path/to/shared-typesCross-Project Search Examples
Find All API Endpoints
bash
grepai search --workspace services "REST API endpoint handler"Find Shared Type Usage
bash
grepai search --workspace fullstack "User interface definition"Find Cross-Project Dependencies
bash
# What calls the shared auth library?
grepai trace callers --workspace fullstack "validateToken"Best Practices
- Name descriptively: not
ecommerce-stackws1 - Group related projects: Only projects that you'd search together
- One daemon per workspace: Run
grepai watch --workspace - Use project filter: When you know which project to search
- Update after major changes: Re-index after adding/removing files
Common Issues
❌ Problem: Workspace not found
✅ Solution: Check workspace exists:
grepai workspace list❌ Problem: Project paths changed
✅ Solution: Remove old path, add new path:
bash
grepai workspace remove my-workspace /old/path
grepai workspace add my-workspace /new/path❌ Problem: Search returns mixed results
✅ Solution: Use flag to filter:
--projectbash
grepai search --workspace ws --project backend "query"Output Format
Workspace overview:
📁 Workspace: my-workspace
Configuration:
- Location: ~/.grepai/workspaces/my-workspace/
- Created: 2025-01-28
Projects (3):
┌─────────────┬──────────────────────────┬───────┐
│ Name │ Path │ Files │
├─────────────┼──────────────────────────┼───────┤
│ frontend │ /path/to/frontend │ 450 │
│ backend │ /path/to/backend │ 320 │
│ shared-lib │ /path/to/shared-lib │ 85 │
└─────────────┴──────────────────────────┴───────┘
Commands:
- Index: grepai watch --workspace my-workspace
- Search: grepai search --workspace my-workspace "query"
- Status: grepai workspace status my-workspace