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-workspaces

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-workspace
Output:
✅ 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-lib
Output:
✅ 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 list
Output:
📁 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-workspace
Output:
📁 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 chunks

Indexing a Workspace

bash
# Index all projects in workspace
grepai watch --workspace my-workspace
Output:
🔍 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 --background

Searching 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-workspace
Output:
📊 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-project

Deleting a Workspace

bash
grepai workspace delete my-workspace
This 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 symbols

workspace.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
  - dist

MCP 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/core

Microservices

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-service

Frontend + 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-types

Cross-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

  1. Name descriptively:
    ecommerce-stack
    not
    ws1
  2. Group related projects: Only projects that you'd search together
  3. One daemon per workspace: Run
    grepai watch --workspace
  4. Use project filter: When you know which project to search
  5. 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
--project
flag to filter:
bash
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