Skip to content

AI tools

This document contains a list of AI to tools that we use in the dev team. Note, things changing fast, we regularly update this doc and for major updates ping the whole dev team.

Recommendations

IDE integration:

  • Cline and Roo Code for VSCode
    • Please ensure you have .clinerules file in your repository that in sync with the .clinerules.example.
  • Claude Code - Terminal-based AI coding assistant
    • Works directly in your terminal, not another chat window. Works with CLAUDE.md files across the project for additional scoped instructions.

Theory: Choosing the Right Model Type

Understanding the difference between model types helps in selecting the best tool for the job:

  • Reasoning Models (e.g., Gemini 2.5 Pro/Flash, Claude 4 Opus/Sonnet, OpenAI o3):
    • Use When: You need the AI to analyze complex problems, understand intricate requirements, plan multi-step solutions, design system architecture, refactor complex code, debug challenging issues, or perform tasks requiring deep understanding and logical deduction.
    • Characteristics: Optimized for complex thought processes, often slower and more expensive.
  • General Purpose / Non-Reasoning Models (e.g., GPT-4.1/Mini):
    • Use When: The task is more direct, such as generating boilerplate code, writing documentation, summarizing text, translating languages, answering factual questions, performing simple code modifications, or creative writing.
    • Characteristics: Faster and more cost-effective for tasks that don't require deep reasoning. While capable, they might struggle with highly complex, multi-layered problems compared to dedicated reasoning models.
  • Code Completion Models (e.g., Codestral):
    • Use When: You need real-time, inline code suggestions as you type within your IDE.
    • Characteristics: Very small, extremely fast, focused solely on predicting the next few tokens of code. Not suitable for complex problem-solving or chat interactions.
  • Primary Reasoning & Coding:
    • Gemini 2.5 Pro. Currently a top performer for both complex reasoning and code generation tasks.
      • Free Tier: You can use the 'Experimental' version sporadically for free.
      • Paid Tiers (API/Cline): For consistent use, especially within Cline, use the API versions:
        • Gemini 2.5 Pro Preview: The most capable version.
        • Gemini 2.5 Flash: A smaller, faster and cheaper alternative, often sufficient for many coding and reasoning tasks.
    • Claude 4 Opus. The best reasoning model from Anthropic, excelling at complex analysis and code generation.
      • Extended Thinking: Claude models support extended thinking capabilities. For particularly complex problems, you can use keywords like think long or ultrathink to make the model reason longer before answering. Be aware this can significantly increase response time.
  • Cost-Effective Alternative: Claude 4 Sonnet. A good, cheaper alternative that still provides strong reasoning capabilities at a lower cost than Opus.
  • High-End Reasoning (Alternative): OpenAI o3 / o4-mini-high. These models can sometimes outperform Gemini 2.5 Pro on extremely complex reasoning problems. However, they often require significantly longer thinking times and can be substantially more expensive (potentially up to 20x). Use them judiciously for tasks where maximum reasoning power is critical and budget/time allows.
  • Code Completion: Codestral (if your IDE supports custom models for auto-completion).
  • General Purpose / Non-Reasoning: OpenAI GPT-4.1 / GPT-4.1-mini. These are state-of-the-art models for tasks that don't require deep, complex reasoning (e.g., text generation, summarization, straightforward coding tasks, data transformation). They offer excellent performance and are often more cost-effective than dedicated reasoning models for these use cases.
  • Large Context Tasks: For tasks requiring extremely large context windows (up to 2M tokens), the Gemini model remains the best option. GPT-4.1 and o3/o4 model variants also support up to 1M tokens, although their rates are higher than Gemini's and they tend to degrade faster as the context window grows larger.

Using Cline Effectively

Cline leverages powerful AI models, and understanding how it works can help you use it more efficiently.

Thinking Tokens & Problem Solving

  • Configuration: Cline has a setting for max thinking tokens. This controls how much "thinking" the AI can do before generating a response.
  • Impact: Increasing this limit allows Cline to tackle more complex problems that require deeper analysis or more extensive code generation. However, it also increases the potential cost and response time. Adjust this based on the complexity of the task at hand.

Pricing Model

  • Thinking Costs: Be aware that the "thinking" tokens used by the model (before it starts writing the final output) are typically billed at the same rate as output tokens by the API providers (Google, Anthropic, etc.). Longer thinking times or higher max thinking tokens settings directly translate to higher costs.
  • Cost vs. Productivity: While minimizing cost is important, prioritize developer productivity. If allowing a model like Claude to think longer or ultrathink, or using a more powerful (and expensive) model like Claude 4 Opus, Gemini Pro or o1 significantly speeds up development by providing a better solution faster, the cost can be justified for complex tasks. However, avoid enabling extended thinking or using top-tier reasoning models by default for simple tasks where standard modes and cheaper models (like Gemini Flash or GPT-4.1-mini) are sufficient. Use judgment based on task complexity.

Managing Tasks and Context

  • When to Start a New Task: Deciding when to start a new task in Cline involves balancing token usage (cost) and context clarity.
    • Keep Current Task: If the new work is closely related to the current context and builds directly upon it, continue in the same task. This avoids repeating context setup.
    • Start New Task: If the new work is significantly different (e.g., switching to a completely different feature or module, changing the core objective), start a new task. This prevents the context window from getting cluttered with irrelevant information, which can degrade performance and increase costs unnecessarily.
  • Goal: Strike a balance. Don't start new tasks excessively, forcing you to re-explain context constantly. But also, don't keep a single task running for vastly different workstreams, which wastes tokens and can confuse the AI.

Using CLAUDE.md Files

CLAUDE.md files provide project-specific instructions to AI assistants (particularly Claude Code). Place them in your project root or any subfolder to give context about conventions, architecture, and workflows.

Key points:

  • Claude Code automatically discovers all CLAUDE.md files in your project (root, parent dirs, and subdirs)
  • Subfolder CLAUDE.md files add module-specific context (e.g., /resources/views/components/CLAUDE.md for component conventions)
  • Include: coding standards, common commands, architecture patterns, and workflow instructions
  • Keep instructions specific and actionable
text

## Leaderboards
 - https://lmarena.ai/ (leaderboard -> coding)