MoreRSS

site iconThe Practical DeveloperModify

A constructive and inclusive social network for software developers.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of The Practical Developer

Managing MCP Servers and Tools With Agentregistry OSS

2026-04-05 06:38:18

Three big topics when it comes to MCP:

  1. How do you know the MCP Server is secure?
  2. Where is it stored?
  3. Is it version-controlled, or can anyone just change it at any time?

And that's where having an MCP registry comes into play.

In this blog post, you'll learn how to securely store your MCP Server, and it's available tools to be used later within your Agents.

Quick Recap: What Is MCP?

Model Context Protocol (MCP) is a spec/standard created by and open-sourced Anthropic. The goal of MCP is to have a server that hosts tools, and these tools are able to implement certain functionality for what you're working on. For example, you can use a Kubernetes MCP Server that can do everything from list/describe/log Pods and deploy objects to Kubernetes. MCP uses JSON-RPC 2.0 for it's communication layer underneath the hood for communication between an Agent (the client) and MCP tools (hosted on the server).

The "Is MCP Dead" Debate

I was at MCPDevSummit in NY this week, and I caught a keynote that explained the need for MCP Server tools pretty nicely from a theoretical perspective. Right now, it may be easier for Agents to talk to MCP Server tools vs having them talk tens or hundreds of APIs directly. The reason why is that it's simpler for an Agent to call a tool and have that tool (because a tool, underneath the hood, is simply a function/method) call the APIs instead. What this could come down to is less tokens used and less context bloat, along with hopefully, better results.

Configuring Agentregistry Locally

With an understanding of what MCP is at a high level, let's dive into the hands-on portion of this blog post. In this section, you'll get agentregistry deployed, which takes around 30 seconds.

  1. Pull down the latest version of agentregistry.
curl -fsSL https://raw.githubusercontent.com/agentregistry-dev/agentregistry/main/scripts/get-arctl | bash
  1. Run the following command, which starts the agentregistry daemon.
 arctl daemon start

You'll see an output similar to the following:

Starting agentregistry daemon...
✓ agentregistry daemon started successfully
  1. Open Docker and you'll see agentregistry running along with a link you can click to reach the UI.

You should now see the agentregistry UI.

Sidenote: if you have a remote registry, you can connect to it with the following:

arctl --registry-url http://YOUR-HOST:12121 version

Adding An MCP Server To Agentregistry

With agentregistry deployed, you can now add an MCP Server to the registry to ensure it's stored and secured. For testing purposes, lets use the filesystem MCP Server that's stored on GitHub.

  1. Using arctl mcp publish, you'll pass in the following flags.
    1. MCP Server: server-filesystem
    2. Type: NPM
    3. Version: 0.6.3
arctl mcp publish io.github.modelcontextprotocol/server-filesystem --type npm --package-id
  @modelcontextprotocol/server-filesystem --version 0.6.3 --description 'MCP server for filesystem access' --git
  https://github.com/modelcontextprotocol/servers.git -v

The MCP Server will now show in your registry.


You can also add your MCP Server via the UI.

  1. Click the purple + Add button and choose Server.

  1. Add in the details about your MCP Server.

Conclusion

Having a safe, secure, and reliable place to store something as prone to security incidents as MCP Servers is key to creating a proper posture for you and your organization when using AI. This is why agentregistry can also be used to store Agent Skills and prompts. Because the majority of what you're using is either a function/method (an MCP Server tool) or .MD files/text files, shadow AI can easily occur.

Why NodeDB Might Be a Better Multi-Model Database

2026-04-05 06:34:22

After comparing the current multi-model databases, I think the category has a real opportunity.

The opportunity is obvious:

Modern applications keep pushing different data models into the same product.

Document, graph, vector, time-series, search, spatial, sync, analytics pressure, and relational workloads do not stay in neat separate boxes for very long.

The problem:

Most current solutions require a bad compromise.

Some systems cover many models, but do not make them equally worth trusting. Some reduce the number of boxes in the architecture diagram, but still leave the user carrying too much integration work. Some look fine early and then start pushing the real cost into the next stage of the product.

That is the gap NodeDB is trying to enter. I am not claiming it has already solved it. I am saying it is aimed at the right problem.

Where NodeDB stands

If PostgreSQL represents seriousness, and ArcadeDB represents engine ambition, those are two of the things I want NodeDB to preserve.

I do not want a database that wins by appearance. I do not want a product that looks broad only because it can list many model names on a landing page. And I do not want a system that becomes "multi-model" only after the user starts adding more external databases, more services, and more coordination outside the database itself.

So where does NodeDB stand in this landscape?

Somewhere between respect for what already works and frustration with what still feels unfinished.

PostgreSQL is still the_ serious baseline for engineering quality, operational trust, and technical discipline_. I take that seriously. If NodeDB cannot compete with that level of seriousness, then there is no point.

ArcadeDB matters for a different reason. It shows that a broader native multi-model engine can still care about engine quality. It is one of the few systems in this space that feels like it actually wants to own the hard parts instead of only smoothing over them at the product layer.

That combination matters to me:

  • Seriousness
  • Engine ambition
  • Broad native model support

That is the bar.

What NodeDB is trying to avoid

There are THREE patterns I want NodeDB to avoid.

The first is broad claims without serious implementations. This is the easiest trap in the category. A database says it supports document, graph, vector, search, and time-series, but once you look closer, too many of those models do not feel strong enough to carry real workloads. I do not want NodeDB to win by vocabulary.

The second is one database on the surface, but too much stitching outside the database. This is the problem with extension sprawl, service sprawl, and platform sprawl. Even if each extra piece is defensible on its own, the user is still the one carrying the integration burden. I want NodeDB to reduce that burden, not rename it.

The third is a design that works early but forces re-architecture later. This is the long-term failure mode I care about most. A lot of systems feel good at the first stage, then requirements widen, and suddenly the user is back to splitting the stack again.

What NodeDB is trying to do differently

The goal is not just to support more models. The goal is to support them in a way that still feels coherent in one database.

That means keeping more capability inside one real database boundary instead of pushing the user toward more external systems. It means making wider support and stronger implementations grow together. And it means treating future architecture churn as a design problem now, not as something to dump on the user later.

That is also why I keep all the major models in view.

If NodeDB is going to be worth building, it cannot stop at only one or two native models and call that enough. It has to think seriously about document, graph, vector, time-series, spatial, search, and relational-style workloads as part of one coherent database direction.

Not because every project needs every model on day one.

But because the problem does not get better if every database starts narrow and then spends years teaching users how to bolt the rest around it.

Why that makes NodeDB interesting

NodeDB is still the new kid in the block. That is a disadvantage in obvious ways: less market trust, less ecosystem gravity, less history, less proof.

It is also an advantage. It does not have to inherit every compromise that older systems normalized. It can start from a harder question: what would a multi-model database look like if it took both width and depth seriously from the beginning?

That is what makes it interesting to me. Not because I think the answer is easy, but because too many current systems still make me choose between:

  • Narrow but dependable
  • Broad but not convincing enough
  • Practical, but still held together by too many moving pieces

NodeDB is my attempt to push against that tradeoff. Whether it succeeds is a different question. But that is the direction.

So how would I score NodeDB right now?

If I use the same seven dimensions from the previous article, this is where I would place NodeDB today.

These are not victory scores.

They are directional scores from someone building the system and using it, while also being honest about what still needs time, proof, and pressure.

Category Score Why
Native multi-model support 9/10 NodeDB is being built around broad native model support inside one real database boundary rather than around extensions, outside services, or separate databases.
Multi-model depth 9/10 The whole point of NodeDB is to make the models strong enough to stand on their own instead of existing only as surface-level support.
Performance potential 9/10 The design is aiming for serious engine-level control rather than convenience-first layering, which gives it very strong upside if the implementation keeps holding up.
Developer experience 6/10 I am trying to make it friendly, but that still needs to be proven in wider use, not just intended.
Operational simplicity 6/10 Keeping more capability inside one database boundary should help, but operational simplicity still has to be proven over time.
Ecosystem / maturity 3/10 This is where NodeDB is obviously weak compared with established systems. It is still young.
Production confidence 5/10 It is already useful for my own work, but it has not yet been tested across enough domains and use cases to justify a higher score.

That is the honest picture.

NodeDB scores high where I think the category still needs a stronger answer: native breadth, model strength, and the attempt to keep them inside one real database boundary instead of spreading them across too many external pieces.

It scores lower where new systems are supposed to score lower: ecosystem, maturity, and broad production trust.

If a new database starts with weak depth and weak direction, then low maturity just makes it easier to dismiss. But if a new database starts with a stronger technical direction, then the real question becomes whether it can survive long enough to earn the rest.

Who should try it now?

At this stage, I would not advise established production teams to switch databases just because NodeDB looks interesting.

That would be irresponsible.

If you already have a production system running on something stable, the migration cost, operational risk, and unknowns are still too high.

But I do think NodeDB is worth considering for:

  • Startups
  • New applications
  • Greenfield systems
  • Teams that know they will need broader native model support early
  • Builders who want to try a different multi-model direction before they get locked into extension sprawl or service sprawl

Not "everyone should move now."

More like: if you are early, if your requirements are broad, and if you want to bet on a database trying to solve this problem differently, then NodeDB is worth serious attention.

In the next post, I will go deeper into how NodeDB handles multi-model differently and why I think that design matters more than just claiming support for more models

Repo: NodeDB

Building LinkedIN Job Application Agents - Part 2

2026-04-05 06:32:21

The Technology Stack

Here’s what I built the MVP with:

  • Frontend: Streamlit + Pandas (Python web framework)
  • Backend: Integrated Python application
  • Database: Supabase (PostgreSQL + Storage)
  • AI: OpenAI SDK for intelligent agents
  • LinkedIn Scraping: linkedin-mcp-server via MCP for web scraping
  • Indeed Scraping: requests + BeautifulSoup4
  • Browser Automation: Playwright
  • Email: Python smtplib for notifications (Gmail SMTP)

✅ Working Features:

Multi-page Streamlit Application

  • Dashboard with metrics and analytics
  • Navigation between Resume Manager, Job Search, Applications, etc.
  • Clean, professional UI with sidebar navigation

Database Layer with Smart Fallbacks

  • Complete ORM with Supabase integration
  • Mock mode for development without database
  • Proper error handling and graceful degradation

Configuration Management

  • Environment-based configuration
  • Secure credential storage
  • Easy deployment setup

Developer Experience

  • Comprehensive test suite
  • One-command startup script
  • Automated health checks

Resume Optimization Agent: AI that tailors resumes to job descriptions

Stop Losing Jobs to ATS Filters: How AI Resume Tailoring Changes Everything

Getting past Applicant Tracking Systems (ATS) is one of the biggest challenges in today's job market. Even highly qualified candidates get filtered out simply because their resume doesn't contain the right keywords. That's where AI-powered resume tailoring makes a real difference.

With the Resume Optimizer, you can tailor your resume to any specific job in seconds — no manual rewriting required.

Just navigate to the Resume page, open the Optimize tab, select a job from your list, and choose your optimization mode.

Three modes are available depending on what your resume needs most:

  • Keyword mode analyzes the job description and naturally injects missing ATS keywords into your existing content — without making it sound robotic or keyword-stuffed.

  • Skills mode intelligently reorders your skills section so the most relevant abilities appear first, instantly signaling to both ATS systems and recruiters that you're a strong match.

  • Experience mode rewrites your bullet points using language that mirrors the job description, highlighting achievements and responsibilities most relevant to the role.

Each optimization preserves your actual experience — nothing is invented. The result is a resume that speaks the employer's language, passes ATS filters, and puts your best qualifications front and center.

Cover Letter Agent: Personalized cover letter generation

Never Send a Generic Cover Letter Again: AI-Powered Personalization at Scale

A great cover letter can be the difference between landing an interview and being overlooked. But writing a tailored letter for every application is exhausting — most job seekers either skip it or send the same generic template everywhere. AI changes that entirely.

With the Cover Letter Generator, you can produce a fully personalized cover letter for any job in seconds. Simply select a job from your scraped listings, choose a tone that matches your personality and the company culture, and let GPT-4o-mini do the writing.

Four tones are available to suit any situation. Professional delivers a formal, polished letter built around concrete achievements. Enthusiastic channels genuine excitement about the role while staying appropriate. Confident leads with impact statements and asserts your value directly. Creative opens with a memorable hook that makes your application stand out.

Behind the scenes, the generator researches the company — its culture, tech stack, and values — and cross-references your resume to highlight the most relevant experience. Every letter is three focused paragraphs, written specifically for that company and role.

The result is a cover letter that feels human, reads naturally, and speaks directly to what the employer is looking for — generated in under 30 seconds.

How do you actually manage your content's SEO performance?

2026-04-05 06:30:14

I write about tech and I've been frustrated with piecing together Google Search Console, spreadsheets, and random tools to figure out what's working. Curious how others handle this — do you have a system that actually works?

Qodo AI Review 2026: Is It the Best AI Testing Tool?

2026-04-05 06:30:00

Quick Verdict

Qodo (formerly CodiumAI) is the only AI code review tool that combines automated PR review with automatic unit test generation in a single platform. If your team struggles with low test coverage and wants AI-driven review feedback that goes beyond comments into actionable tests, Qodo is the best option available in 2026. The February 2026 release of Qodo 2.0 introduced a multi-agent review architecture that achieved the highest F1 score (60.1%) in benchmark testing against seven other leading tools.

That said, Qodo's $30/user/month Teams pricing is above average, and the credit system adds complexity that competitors avoid. If you only need PR review without test generation, tools like CodeRabbit at $24/user/month or CodeAnt AI starting at $24/user/month offer strong alternatives at lower price points.

Bottom line: Qodo is not the cheapest AI code review tool, but it is the most complete AI code quality platform. The combination of review, test generation, IDE support, CLI tooling, and open-source self-hosting options makes it uniquely positioned for teams that want one tool to cover the full quality spectrum.

What Is Qodo?

Qodo is an AI-powered code quality platform that was originally launched as CodiumAI in 2022 by founders Itamar Friedman and Dedy Kredo. The company rebranded from CodiumAI to Qodo in 2024 as it expanded from a test generation tool into a comprehensive quality platform covering code review, testing, IDE assistance, and CLI workflows.

Qodo screenshot

The platform consists of two main products that work together:

Qodo Merge is the PR review product. When a pull request is opened on GitHub, GitLab, Bitbucket, or Azure DevOps, Qodo Merge automatically analyzes the diff using a multi-agent architecture. Specialized agents evaluate bugs, code quality, security vulnerabilities, and test coverage gaps simultaneously. The review is posted as line-level comments with a structured PR summary and walkthrough.

Qodo Gen is the broader AI coding assistant that spans the IDE and CLI. In VS Code and JetBrains IDEs, Qodo Gen provides code generation, chat-based assistance, and - most importantly - automated test generation via the /test command. The CLI tool extends these capabilities to terminal-based workflows, which is useful for CI/CD integration.

Both products are built on PR-Agent, Qodo's open-source review engine available on GitHub. PR-Agent supports GitHub, GitLab, Bitbucket, Azure DevOps, CodeCommit, and Gitea, and can be self-hosted for free with your own LLM API keys. This open-source foundation is a meaningful differentiator - no other commercial AI code review tool offers this level of transparency.

Qodo raised $40 million in Series A funding in 2024 and was recognized as a Visionary in the Gartner Magic Quadrant for AI Code Assistants in 2025. With approximately 100 employees across Israel, the United States, and Europe, the company has built a substantial team behind the platform.

Key Features

Multi-Agent Code Review (Qodo 2.0)

Released in February 2026, Qodo 2.0 replaced the single-pass AI review with a multi-agent architecture. Instead of one model analyzing the entire diff, specialized agents work in parallel - one focused on bug detection, another on code quality best practices, a third on security analysis, and a fourth on test coverage gaps. This architecture achieved the highest overall F1 score of 60.1% in comparative benchmarks against seven other leading AI code review tools, outperforming the next best solution by 9%. The recall rate of 56.7% means Qodo catches more real issues than any other tool tested.

Automated Test Generation

Test generation is what originally made CodiumAI stand out, and it remains Qodo's most distinctive capability. The system analyzes code behavior, identifies untested logic paths, and generates complete unit tests - not stubs, but tests with meaningful assertions covering edge cases and error scenarios. Tests are produced in your project's existing framework (Jest, pytest, JUnit, Vitest, and others). In the IDE, the /test command triggers generation for selected functions. During PR review, Qodo identifies coverage gaps and suggests tests that validate the specific changes being reviewed.

This creates a feedback loop that no other tool provides: Qodo finds an issue in review, then generates a test that catches that exact scenario. Review findings become immediately actionable rather than items on a backlog.

Behavior Coverage Analysis

Qodo goes beyond simple line coverage metrics. Its behavior coverage analysis maps the logical paths through your code and identifies which behaviors are untested. This is different from tools that only measure whether a line was executed during testing - Qodo evaluates whether the meaningful scenarios (null inputs, boundary conditions, error paths, concurrent access patterns) have been validated. This approach frequently surfaces edge cases that developers overlook even when line coverage numbers look healthy.

IDE Plugins for VS Code and JetBrains

Qodo's IDE plugins bring code review and test generation directly into the development environment. Developers can review code locally before committing, generate tests for new functions, and get AI-assisted suggestions without leaving their editor. The plugins support multiple AI models including GPT-4o, Claude 3.5 Sonnet, and DeepSeek-R1. For privacy-conscious teams, Local LLM support through Ollama keeps all code processing on your own machines.

CI/CD and CLI Integration

The CLI tool provides agentic quality workflows in the terminal, allowing developers to run reviews, generate tests, and enforce quality standards as part of automated pipelines. This is particularly useful for pre-commit hooks and CI/CD gates where you want automated quality checks before code reaches the main branch.

Broadest Platform Support

Qodo supports GitHub, GitLab, Bitbucket, and Azure DevOps for PR review - one of the broadest platform ranges in the AI code review market. Through the open-source PR-Agent, coverage extends to CodeCommit and Gitea as well. For organizations running heterogeneous Git infrastructure, this eliminates the platform compatibility evaluation entirely.

Context Engine for Multi-Repo Intelligence

Available on the Enterprise plan, the context engine builds awareness across multiple repositories. It understands how changes in one repo might affect services in another - critical for microservice architectures where API changes, shared library updates, or configuration modifications can have cascading effects. The engine also learns from pull request history, improving suggestion relevance over time.

Pros and Cons

What Qodo Does Well

Test generation is genuinely unique. No other AI code review tool automatically generates unit tests as part of the review workflow. This is not a minor feature difference - it fundamentally changes what a code review tool can do. When Qodo identifies that a function does not handle null input, it also generates a test that exercises that exact scenario. Users on G2 consistently highlight that Qodo produces "great unit tests in seconds, sometimes with edge cases not considered, finding bugs before the end-user does."

Highest benchmark accuracy. The multi-agent architecture in Qodo 2.0 achieved the highest overall F1 score (60.1%) among eight AI code review tools tested. The 56.7% recall rate means Qodo catches more real issues than competitors. For teams that prioritize detection quality over speed or price, this is a measurable advantage.

Open-source foundation provides transparency and flexibility. PR-Agent is fully open source, meaning teams can inspect exactly how their code is analyzed, contribute improvements, and self-host in air-gapped environments. This is a hard requirement for regulated industries in finance, healthcare, and government - and Qodo is the only commercial AI review tool that meets it through an open-source core.

Broadest platform support. Supporting GitHub, GitLab, Bitbucket, Azure DevOps, CodeCommit, and Gitea (via PR-Agent) means Qodo works with virtually any Git hosting provider. Most competitors are limited to GitHub and GitLab only.

Gartner Visionary recognition. Being named a Visionary in the Gartner Magic Quadrant for AI Code Assistants in 2025 provides meaningful third-party validation. Combined with $40 million in Series A funding, Qodo has institutional credibility that smaller competitors lack.

Where Qodo Falls Short

Pricing is above average. At $30/user/month for the Teams plan, Qodo costs more than CodeRabbit ($24/user/month), CodeAnt AI ($24-$40/user/month), and GitHub Copilot Business ($19/user/month). The premium is justified if you use test generation, but if you only need PR review, you are paying extra for a capability you may not use.

The credit system is confusing. Most standard operations cost 1 credit, but premium models like Claude Opus consume 5 credits and Grok 4 consumes 4 credits per request. Credits reset every 30 days from your first message rather than on a calendar schedule. This variable consumption rate makes it harder to predict monthly usage, especially on the free tier's 250-credit limit.

Free tier was recently reduced. The free Developer plan dropped from 75 PR reviews per month to 30. While 30 reviews is enough for evaluation, it is insufficient for small teams to rely on Qodo as their primary review tool without upgrading.

IDE plugin performance can lag. Some users on G2 report slow performance with the IDE plugin on larger codebases. For developers who rely on the IDE extension for interactive test generation, responsiveness issues can be frustrating.

Brand confusion from the CodiumAI transition. The rebrand from CodiumAI to Qodo still causes confusion. Some developers searching for CodiumAI do not realize it is now Qodo, and some marketplace listings and documentation still reference the old name.

Learning curve across multiple surfaces. Qodo spans PR review, IDE plugin, CLI tool, test generation, and the context engine. Mastering all of these capabilities takes longer than single-purpose tools that do one thing well.

Pricing

Qodo offers three pricing tiers with a credit-based system for IDE and CLI usage.

Developer (Free) - 30 PR reviews per month, 250 credits per calendar month for IDE and CLI interactions. Includes the full code review experience, IDE plugin, CLI tool, and community support via GitHub. Suitable for solo developers and evaluation.

Teams ($30/user/month annual, $38/user/month monthly) - Unlimited PR reviews as a current limited-time promotion (standard allowance is 20 PRs per user per month). 2,500 credits per user per month. Standard private support with no data retention. This is the plan most teams will need for production use.

Enterprise (Custom pricing) - Everything in Teams plus the context engine for multi-repo intelligence, enterprise dashboard and analytics, user-admin portal with SSO, enterprise MCP tools, priority support with a 2-business-day SLA, and SaaS, on-premises, or air-gapped deployment options.

How Does Qodo's Pricing Compare?

For context, here is how Qodo's Teams tier stacks up against competitors:

  • CodeRabbit Pro: $24/user/month - dedicated PR review with 40+ linters, no test generation
  • CodeAnt AI Basic: $24/user/month - PR review with SAST and secret detection, no test generation
  • CodeAnt AI Premium: $40/user/month - adds IaC security, DORA metrics, and compliance reports
  • GitHub Copilot Business: $19/user/month - code completion plus basic review, limited to GitHub
  • Greptile Cloud: $30/seat/month with 50 reviews included, $1 per additional review
  • Tabnine: $12/user/month - focused on code completion, limited review capabilities

Qodo's $30/user/month is at the higher end of the market. The price premium is justified if you actively use test generation. If you only need PR review, tools like CodeRabbit and CodeAnt AI at $24/user/month deliver comparable review depth at a 20% lower cost.

Real-World Usage

Test Generation Quality

Qodo's test generation is the feature that most directly impacts daily workflows. In practice, the generated tests are surprisingly good for common patterns - standard CRUD operations, utility functions, and API endpoint handlers receive tests with meaningful assertions, edge case coverage, and proper mocking of dependencies. The tests use your project's existing framework conventions and follow the patterns already present in your test suite.

Where test generation falls short is with complex business logic, deeply nested dependencies, and code that requires significant setup or external service mocking. In these cases, Qodo produces a useful starting point - a test skeleton with the right structure and some valid assertions - but developers still need to fill in domain-specific details. This is a realistic expectation for any AI-powered test generation tool in 2026, and Qodo handles it better than anything else on the market.

The /test command in the IDE is the most practical way to use test generation. Select a function, run /test, and Qodo produces a test file within seconds. For teams bootstrapping test coverage on legacy codebases, this workflow can generate dozens of tests per day with moderate human refinement.

PR Review Depth

Qodo Merge's multi-agent review produces thorough, structured feedback. Each PR receives a summary describing what changed, the risk level, and which files are most affected. Line-level comments include explanations of the issue, the potential impact, and suggested fixes. The multi-agent architecture means different types of issues - bugs, security vulnerabilities, style violations, and missing tests - are analyzed by specialized agents rather than a single general-purpose model.

Review turnaround is typically under 5 minutes for standard PRs. Larger diffs with many files take longer, but the structured summary helps reviewers triage findings quickly. The ability to interact with Qodo in PR comments - asking follow-up questions, requesting alternative implementations, or generating tests for specific code paths - adds a conversational dimension that static review tools lack.

One practical limitation is that Qodo's review depth on the free tier is identical to the paid tier in terms of analysis quality, but the 30-review monthly cap means free users cannot rely on it for all PRs. Teams with moderate PR volume will hit the cap within the first two weeks of a typical sprint.

Who Should Use Qodo

Teams with low test coverage that want AI-generated tests to bootstrap their testing practice. Qodo's test generation produces framework-appropriate tests with meaningful assertions and edge case coverage. For teams that know they need better tests but cannot dedicate the engineering time to write them manually, Qodo offers the fastest path to improved coverage.

Organizations in regulated industries - finance, healthcare, government - where code cannot leave the corporate network. Qodo's open-source PR-Agent and Enterprise air-gapped deployment options allow full self-hosting. No other commercial AI code review tool offers this level of deployment flexibility.

Teams using Bitbucket or Azure DevOps that are frustrated by the GitHub-centric focus of most AI review tools. Qodo is one of the few tools that provides full-featured review support across all four major platforms.

Mid-size engineering teams (5 to 50 developers) that want a single platform for code review, test generation, and quality enforcement rather than managing multiple specialized tools. The combination of PR review, IDE plugin, CLI tool, and context engine covers the full development workflow.

Teams that prioritize detection accuracy above all else. Qodo 2.0's F1 score of 60.1% is the highest among tested tools, meaning it catches more real issues with fewer false positives than alternatives.

Who Should Look Elsewhere

Cost-sensitive teams that only need PR review. If test generation is not a priority, CodeRabbit at $24/user/month or CodeAnt AI starting at $24/user/month provide strong review capabilities at lower cost.

Teams wanting the deepest codebase-aware review. Greptile indexes your entire codebase for context-aware analysis and achieved an 82% bug catch rate in independent testing. If deep semantic understanding of your full codebase is the priority, Greptile goes further than Qodo.

Solo developers on a tight budget. The free tier's 30-review cap and 250-credit limit may not be enough for active individual developers. CodeRabbit's free tier with unlimited repos and no hard PR cap (just rate limits) is more flexible for individuals.

Alternatives to Qodo

GitHub Copilot

GitHub Copilot is an AI coding assistant with code review as a secondary feature. Reviews complete in about 30 seconds and are deeply integrated into the GitHub experience, but review depth is shallower than Qodo's multi-agent approach. Copilot caught 54% of bugs in benchmark testing compared to Qodo's 60.1% F1 score. No test generation or non-GitHub platform support. Best for teams already paying for Copilot who want basic review with minimal friction. See our full Qodo vs GitHub Copilot comparison.

Diffblue

Diffblue is the closest competitor to Qodo's test generation capability. Diffblue Cover generates unit tests for Java code using symbolic analysis rather than LLMs, producing deterministic, regression-proof tests. It is Java-only, which limits its audience, but for Java shops, the test quality is consistently high. Diffblue focuses exclusively on testing with no PR review capabilities. Best for Java teams that want deterministic test generation. See our Qodo vs Diffblue comparison.

CodeRabbit

CodeRabbit is the most widely adopted AI code review tool with over 2 million connected repositories. It focuses exclusively on PR review with 40+ built-in linters, natural language configuration, and a more generous free tier than Qodo. CodeRabbit costs $24/user/month - 20% less than Qodo. No test generation capability. Best for teams that want the most mature, widely-used PR review experience at a competitive price. See our Qodo vs CodeRabbit breakdown.

Tabnine

Tabnine focuses on AI code completion with some review capabilities. At $12/user/month, it is significantly cheaper than Qodo but offers shallower review analysis and no test generation. Tabnine's strength is code completion speed and accuracy rather than review depth. Best for teams that primarily need code completion with lightweight review. See our Qodo vs Tabnine comparison.

CodeAnt AI

CodeAnt AI is a Y Combinator-backed platform that bundles PR review, SAST, secret detection, IaC security, and DORA metrics in a single tool. The Basic plan starts at $24/user/month for PR reviews with line-by-line feedback, auto-fix suggestions, and 30+ language support. The Premium plan at $40/user/month adds security scanning, compliance reports, and engineering dashboards. CodeAnt AI does not offer test generation, but its security coverage and engineering metrics fill gaps that Qodo does not address. Best for teams that want code review combined with security scanning and engineering analytics at competitive pricing.

Other Alternatives

Sourcery focuses on code quality and refactoring suggestions, primarily for Python teams. See our Qodo vs Sourcery comparison. Cody by Sourcegraph provides full-codebase search and context-aware assistance. See our Qodo vs Cody comparison.

For a broader overview, see our best AI code review tools roundup.

Final Verdict

Qodo occupies a unique position in the AI code review market. It is the only tool that combines automated PR review with proactive test generation, and the Qodo 2.0 multi-agent architecture delivers the highest benchmark accuracy available. The open-source PR-Agent foundation, broadest platform support, and air-gapped deployment options make it the most versatile choice for enterprise teams with diverse infrastructure requirements.

The tradeoffs are real, though. At $30/user/month, Qodo is more expensive than most dedicated review tools. The credit system adds friction. The free tier's recent reduction to 30 PR reviews per month limits its usefulness for small teams. And if test generation is not something your team needs, you are paying a premium for a capability you may never use.

Choose Qodo if: you want AI-generated tests alongside PR review, you need air-gapped or self-hosted deployment, your team uses Bitbucket or Azure DevOps, or you prioritize detection accuracy above all else.

Look elsewhere if: you only need PR review and want the lowest price (try CodeRabbit or CodeAnt AI), you want the deepest codebase-aware review (try Greptile), or you are a solo developer looking for a generous free tier.

Qodo is not the cheapest AI code review tool, and it is not the simplest. But for teams that value the combination of review accuracy, test generation, platform flexibility, and deployment control, it is the most complete option in 2026 - and nothing else on the market covers as much ground in a single product.

Further Reading

Frequently Asked Questions

Is Qodo worth it in 2026?

For teams that need both AI code review and automated test generation, Qodo is worth it. The Teams plan at $30/user/month is slightly above the market average, but no other tool combines PR review with automatic unit test creation. If your team has low test coverage or wants a single platform for both review and testing, Qodo delivers genuine value. If you only need PR review without test generation, alternatives like CodeRabbit at $24/user/month or CodeAnt AI starting at $24/user/month offer comparable review quality at a lower price.

Is Qodo the same as CodiumAI?

Yes. Qodo is the new name for CodiumAI. The company rebranded in 2024 to reflect its expansion from a test generation tool into a full AI code quality platform. All CodiumAI products, accounts, and integrations were migrated to Qodo automatically. The underlying technology, team, and product capabilities remained the same. The rebrand also resolved persistent name confusion with VSCodium, an unrelated open-source VS Code fork.

What is the difference between Qodo Gen and Qodo Merge?

Qodo Gen is the overall AI coding assistant experience that spans the IDE, CLI, and Git integrations. It includes code generation, chat-based assistance, and test creation via the /test command. Qodo Merge is specifically the PR review product that analyzes pull requests for bugs, security issues, code quality problems, and test coverage gaps. Both are included in all Qodo plans. Qodo Gen focuses on helping you write and test code during development, while Qodo Merge reviews code after you open a pull request.

Does Qodo generate unit tests automatically?

Yes. Automated test generation is Qodo's most distinctive feature. During PR review, Qodo identifies untested code paths and generates complete unit tests with meaningful assertions covering edge cases and error scenarios. In the IDE, the /test command triggers test generation for selected functions. Tests are produced in your project's existing testing framework - Jest, pytest, JUnit, Vitest, and others. This proactive coverage gap detection and test creation is unique in the AI code review market.

Is Qodo free?

Yes, Qodo offers a free Developer plan that includes 30 PR reviews per month and 250 credits for IDE and CLI interactions. The free tier provides the full code review experience, IDE plugin access, CLI tool, and community support via GitHub. Most standard operations consume 1 credit each, though premium AI models cost more per request. The free tier is sufficient for solo developers and small teams to evaluate the platform, but teams processing more than 30 PRs per month will need the paid Teams plan.

What languages does Qodo support?

Qodo supports all major programming languages including JavaScript, TypeScript, Python, Java, Go, C++, C#, Ruby, PHP, Kotlin, and Rust. The AI-powered review engine can analyze code in virtually any language since it uses large language models for semantic understanding rather than language-specific rule sets. Test generation quality is strongest for languages with mature testing ecosystems like Python (pytest), JavaScript (Jest), Java (JUnit), and TypeScript (Vitest).

Does Qodo work with GitLab and Bitbucket?

Yes. Qodo supports GitHub, GitLab, Bitbucket, and Azure DevOps for PR review. This is one of the broadest platform support ranges in the AI code review market. The open-source PR-Agent foundation extends coverage even further to CodeCommit and Gitea. For teams using non-GitHub platforms, Qodo is one of the few AI review tools that provides full-featured support without compromises.

Is Qodo open source?

Qodo's commercial platform is proprietary, but its core review engine is built on PR-Agent, which is fully open source and available on GitHub. PR-Agent can be self-hosted with your own LLM API keys on GitHub, GitLab, Bitbucket, Azure DevOps, CodeCommit, and Gitea. This open-source foundation allows teams to inspect the review logic, contribute improvements, and run the tool in air-gapped environments without sending code to external services.

How does Qodo compare to GitHub Copilot for code review?

Qodo and GitHub Copilot serve different needs. Copilot is primarily an AI coding assistant with code review as a secondary feature, while Qodo is a dedicated code quality platform. Qodo's multi-agent architecture achieved a higher F1 score (60.1%) than Copilot's review capabilities in benchmark testing. Qodo also generates unit tests automatically, supports GitLab, Bitbucket, and Azure DevOps, and offers self-hosted deployment. Copilot is faster (30-second reviews) and cheaper ($19/user/month for Business), but its review depth is shallower. For a detailed comparison, see our full breakdown at Qodo vs GitHub Copilot.

Can Qodo be self-hosted?

Yes. Teams can self-host the open-source PR-Agent for free using Docker with their own LLM API keys, covering the core PR review functionality. For full platform self-hosting - including the context engine, analytics dashboard, and enterprise features - the Enterprise plan offers on-premises and air-gapped deployment options. This makes Qodo one of the most flexible AI code review tools for organizations with strict data sovereignty requirements in regulated industries like finance, healthcare, and government.

What is Qodo 2.0?

Qodo 2.0 was released in February 2026 and introduced a multi-agent code review architecture. Instead of a single AI pass over the diff, specialized agents collaborate simultaneously - one focused on bug detection, another on code quality, another on security analysis, and another on test coverage gaps. This multi-agent approach achieved the highest overall F1 score (60.1%) among eight AI code review tools tested in comparative benchmarks, with a recall rate of 56.7%. The release also expanded the context engine to analyze pull request history alongside codebase context.

How does Qodo's credit system work?

Qodo uses a credit-based system for IDE and CLI interactions. The free Developer plan includes 250 credits per month, and the Teams plan provides 2,500 credits per user per month. Most standard operations consume 1 credit each. Premium AI models cost more - Claude Opus uses 5 credits per request and Grok 4 uses 4 credits per request. Credits reset every 30 days from the first message sent, not on a calendar schedule. PR reviews are counted separately from credits and have their own monthly limits.

Originally published at aicodereview.cc

Every Ship Has a Secret Resume

2026-04-05 06:27:01

In 2011, a Japanese shipyard delivered a bulk carrier called 21 Glory. She was 37,000 deadweight tonnes — a handymax, built to carry grain, coal, and steel through the regional trade lanes of the Pacific.

Stamped into her classification record was this:

NS*(BCM-A, BC-XII, GRAB)(PS-DA&FA)(IWS) MNS*

That is not a random string. It is a professional credential — a coded statement, issued by a classification society, that specifies what this ship is built to do, what she has been inspected for, and what she is permitted to carry.

Lloyd's Register began recording ship conditions in a London coffee house in 1760. The core concept has not changed: independent examination, encoded into standardized formats. The notation string is the output.

Reading the Notation

Here is what 21 Glory's notation means, token by token:

Token Meaning
NS* Hull notation by ClassNK; asterisk indicates approved plans and surveyed construction
BCM-A Bulk carrier strengthened for heavy cargo in all holds with alternate loading approval
BC-XII SOLAS Chapter XII bulk carrier structural compliance
GRAB Hull reinforced for grab (mechanical clamshell) discharge
PS-DA&FA Structural strength program using Direct Analysis and Fatigue Assessment
IWS In-Water Survey eligibility — divers instead of dry-dock
MNS* Machinery notation with full-survey standard

A vessel without BCM-A would be unsuitable for iron ore with alternating empty holds.

The GRAB notation deserves special attention. Grab discharge means a crane lowers a massive clamshell bucket into the hold and scoops cargo out. The impact on the tank top — the hull interior — is enormous. Vessels rated for grab discharge have reinforced scantlings: thicker plating, stronger frames, additional stiffening. A vessel without this reinforcement risks structural damage during or after grab operations.

The Rosetta Stone Problem

There is no universal notation language. Each classification society invented its own.

There are approximately a dozen major societies worldwide (IACS members), and they encode identical capabilities differently:

  • Bulk carrier heavy cargo: BCM-A (ClassNK) vs BC-A (Bureau Veritas, CCS, Korean Register)
  • Unattended machinery: M0 (ClassNK), AUT-UMS (Bureau Veritas), AUT-0 (CCS), UMA (Korean Register)

Korean Register wraps notations in single quotes. CCS uses Unicode parentheses. One Bureau Veritas vessel had a notation string that was 847 characters long — with occasional full-width Unicode parentheses mixed in.

Our first attempt at a cross-society parser took about a day to write and about three weeks to debug.

Classification societies predate international standardization bodies by over a century. Lloyd's Register predated the first International Load Line Convention (1930) by 170 years. By the time anyone thought about harmonization, the notation formats were embedded in thousands of certificates, contracts, and insurance policies. Only Common Structural Rules (adopted 2006, harmonized 2015) achieved genuine cross-society alignment — which is why CSR appears nearly identically across societies.

What We Built

We built collectors for six classification societies, parsing notation strings without normalization. The rationale: the notation string is a legal document, and paraphrasing a legal document is how you get sued.

curl "https://api.vesselapi.com/v1/vessel/9468217/classification?filter.idType=imo" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "classification": {
    "identification": {
      "vesselName": "21 GLORY",
      "imoNumber": "9468217",
      "flagName": "Singapore",
      "classStatusString": "In Class"
    },
    "classification": {
      "mainClass": "NS*",
      "classNotationString": "NS*(BCM-A, BC-XII, GRAB)(PS-DA&FA)(IWS) MNS*"
    },
    "surveys": [
      { "survey": "Special Survey", "lastDate": "21 Jan 2026", "dueFrom": "14 Sep 2030", "dueTo": null },
      { "survey": "Intermediate Survey", "dueFrom": "14 Jun 2027", "dueTo": "14 Dec 2027" },
      { "survey": "Annual Survey", "dueFrom": "14 Jun 2026", "dueTo": "14 Dec 2026" }
    ],
    "yard": {
      "hullYardName": "SAIKI HEAVY INDUSTRIES CO., LTD.",
      "keelDate": "10 Dec 2010",
      "dateOfBuild": "22 Apr 2011"
    },
    "dimensions": {
      "dwt": 37202,
      "grossTon69": 22863
    }
  }
}

Coverage

Classification Society Vessels with Notation Data
Nippon Kaiji Kyokai (ClassNK) ~8,900
Det Norske Veritas (DNV) ~8,300
Bureau Veritas (BV) ~7,500
China Classification Society (CCS) ~4,000
Registro Italiano Navale (RINA) ~2,800
Korean Register (KR) ~1,900
Total ~33,400

Not all vessels carry additional notations; some older or simpler ships have only base class symbols.

What the Notation String Decides

Cargo Suitability. The notation determines cargo compatibility. For iron ore shipments, charterers verify for BC-A (or equivalent) and GRAB. A BC-B vessel has restrictions on hold usage and draught, affecting loading patterns and structural safety. Getting this wrong is not a paperwork problem. It is a the-ship-might-break problem.

Survey Cycles. 21 Glory's record shows a Special Survey completed January 21, 2026, with the next due by September 2030. The Special Survey is the big one — a comprehensive inspection every five years, often requiring dry-docking, costing hundreds of thousands of dollars. Vessels near their deadline face potential delays, detention risk, or class loss if certification lapses.

Compliance Signals. Notations like PSPC-WBT (ballast tank protective coatings) and IHM (Inventory of Hazardous Materials) signal IMO convention compliance. In some ports, missing an expected notation is functionally an invitation to be boarded and detained by port state control.

Operational Quality Proxy. Notations including ESP (Enhanced Survey Programme), IWS, and CMS (Continuous Machinery Survey) correlate with better maintenance. They are a useful filter when screening numerous vessel candidates — not definitive proof of quality, but a signal.

Try It

The endpoint is at /vessel/{id}/classification?filter.idType=imo. Lloyd's Register and ABS are on the roadmap.

Somewhere right now, a surveyor is climbing into a ballast tank with a flashlight and an ultrasonic thickness gauge, measuring the steel plate by plate, writing down what she finds. The notation string is the output. We just make it queryable.