Skip to main content
A collection of practical tips for getting better results from CodeAlive across all AI agents.

Prompting Strategies

Use the actual names from your codebase — class names, service names, module names. The more specific you are, the more relevant the results.
Instead of…Try…
“auth code""authentication middleware in the Express API gateway"
"database stuff""Prisma schema for the User model"
"error handling""how does OrderService handle payment failures?"
"the API""the /api/v2/users REST endpoint”
CodeAlive understands architectural patterns, not just individual files. Ask higher-level questions:
"How does error handling work across the API layer?"
"What pattern do we use for database transactions?"
"How are background jobs structured in this project?"
When using chat, pass the conversation_id from a previous response to maintain context. This lets you drill deeper without re-explaining:
First: "How does the payment flow work?"
Follow-up: "What happens if the payment provider returns a timeout?"
Follow-up: "Show me the retry logic for that case"
Start with semantic_search or grep_search to gather evidence, then use chat only if you still need a synthesized explanation:
1. Search: "payment webhook handler"
2. Grep: "refund"
3. Chat: "Explain how the payment webhook handler processes refund events"
This gives chat more focused context and produces better answers.

Search Optimization

Use the canonical pair by default:
ToolWhen to useSpeed
semantic_searchMeaning-based retrieval, architecture clues, related patternsFast
grep_searchExact strings, identifiers, log lines, regex patternsFast
codebase_searchLegacy compatibility onlyVaries
If you have multiple repositories indexed, scope your search to avoid noise:
"Search for authentication logic in the backend repository"
"Find React components in the frontend repo"
Use get_data_sources to see available repositories and workspaces. Pass your task as its query argument to get only the relevant sources, each with a relevanceReason — useful when many repositories are indexed.
semantic_search and grep_search are the default tools. chat is slower, can take up to 30 seconds, and uses more tokens but synthesizes a complete answer.Recommended flow:
  1. Search to find where relevant code lives
  2. Fetch or read the most relevant artifacts
  3. Chat only when you need synthesis, explanation, or analysis

Workspace Organization

Indexing too many unrelated repositories in one workspace adds noise to search results. If you’re getting irrelevant hits, split your workspace or scope your queries to specific repos.

Cost & Token Optimization

semantic_search and grep_search are significantly cheaper and faster than chat. Use search for lookups and locating code. Reserve chat for synthesis and analysis.If your agent supports subagents and you need maximum reliability or depth, prefer a subagent-driven workflow built on semantic_search and grep_search instead of jumping straight to chat.
ToolBest forRelative cost
get_data_sourcesListing repos, checking statusMinimal (low with query, which runs an AI relevance filter)
semantic_search / grep_searchFinding code, locating evidenceLow
chatExplanations, analysis, synthesized answersHigher
Shorter, more focused queries return better results and use fewer tokens. Instead of explaining your entire situation, ask a direct question:
Instead of…Try…
”I’m working on a feature where users can reset their password and I need to understand how the current password reset flow works so I can modify it""How does the password reset flow work?”

Agent-Specific Tips

  • Use claude mcp add for the simplest setup — one command, done
  • Add CodeAlive to your custom instructions so Claude uses it automatically
  • Works with both remote MCP and local Docker
  • Composer Agent mode automatically uses MCP tools when relevant
  • Use .cursor/mcp.json for project-specific config (shareable with team)
  • Add CodeAlive patterns to .cursorrules for consistent AI behavior
  • Config uses serverUrl — not url — different from other agents
  • Supports Streamable HTTP transport
  • Check Windsurf’s MCP settings page for connection status
  • Supports auto-approve for MCP tools to reduce confirmation prompts
  • Add CodeAlive rules to .cline/rules.md for automatic context usage:
    Always search CodeAlive before writing new code.
    Follow existing patterns found in the codebase.
    
  • Native MCP support is GA in VS Code
  • Configure in .vscode/mcp.json for project-level setup
  • Agent mode in Copilot Chat automatically discovers MCP tools

What’s Next

Example Workflows

See real-world usage patterns

Troubleshooting

Solutions for common issues