Saltar al contenido

Engineering

Cómo construimos software con IA en el equipo

Para CTO y desarrolladores: cómo colaboran en nuestros proyectos el agente, el harness y el control de calidad de un sénior. Las reglas que usamos en más de 15 proyectos en producción desde 2023.

¿Su equipo tiene IA, pero sin reglas ni controles? AI-native SDLC. ¿Su equipo no da abasto con el backlog? Capacidad para su equipo de desarrollo.

IA en el equipo de desarrollo

IA en el equipo de desarrollo

CLAUDE.md and AGENTS.md: rules for AI code in a team

Rules for AI code in a team belong in the repository: a short CLAUDE.md or AGENTS.md, lint and tests for what matters most, review by someone other than the author. What to write, where, and what to leave out.

IA en el equipo de desarrollo

Cursor vs Claude Code: why we build on the terminal agent

Cursor vs Claude Code for a team, not a benchmark: Cursor is an editor with an agent inside, Claude Code is an agent that runs the same on a laptop, in CI and in a background loop. Why our whole harness runs on Claude Code, and when Cursor is the better pick.

IA en el equipo de desarrollo

Claude Code skills and plugins: one set for every repo

Claude Code skills are SKILL.md instructions the agent loads when a task needs them. A plugin ships skills, agents and hooks as one unit. How we run one plugin in every repo, and what broke on the way.

IA en el equipo de desarrollo

Claude Code subagents and worktrees: when to use which

Claude Code subagents split work inside one session, worktrees isolate file edits. Our rule from running parallel agents every day: subagents only read, every change gets its own worktree and PR. What broke, and how to start.

IA en el equipo de desarrollo

How to build an MCP server, and when you should not

How to build an MCP server: pick stdio or Streamable HTTP, register a few tools with a schema, connect a client and add authorization before it goes remote. What we learned from our own prototype, and which tools an agent should get.

IA en el equipo de desarrollo

Claude Code best practices for a team: 7 rules that stick

Most Claude Code tips are written by solo users. These seven are team practices: a short CLAUDE.md that CI keeps short, one shared plugin, permissions and hooks in the repo, one issue to one PR, a test that fails first and a reviewer that did not write the code.

IA en el equipo de desarrollo

Claude in Chrome: what the extension can do in practice

Claude in Chrome is the Anthropic extension that lets Claude click, type and read pages in your own Chrome. What it can do today, how much it changed since the pilot, what we used it for, where it hands over to a person, and when Playwright scripts are the better tool.

Harness y controles

Harness y controles

Context engineering for coding agents: what goes in a repo

Context engineering decides what an AI coding agent sees while it works. What goes into AGENTS.md or CLAUDE.md, which rules load only where they apply, how the task becomes context, and how to keep the whole thing small.

Harness y controles

Playwright MCP: let the AI agent prove it works

Playwright MCP gives an AI agent a real browser. How we use it so the agent checks its own change in the running app and hands back PASS or FAIL with screenshots, what it catches that unit tests miss, and when plain Playwright scripts are the better tool.

Harness y controles

Claude Code review in CI: what AI code review misses

How we run Claude Code review on every pull request with one reusable GitHub Action: what the AI reviewer is told to look for, how it stayed green and silent, what it misses, and why only a person approves.

Harness y controles

Spec-driven development: what it is and our issue contract

Spec-driven development with AI agents: write down what to build and how you will know it is done before the agent writes code. Our lighter version: a GitHub issue with a task type and acceptance criteria, checked by a machine gate.

Harness y controles

Claude Code dangerously-skip-permissions: when is it safe?

What --dangerously-skip-permissions really turns off, how allow, ask and deny rules decide, what a rule cannot see, and the three layers we use: rules on a laptop, hooks for what rules miss, full bypass only in an isolated box.

Harness y controles

Claude Code plan mode: when is it enough for a team?

Claude Code plan mode explores the code and proposes a plan before any edit. That solves one session. In a team the plan has to outlive the session: ours lives in the GitHub issue, and a read-only check tests the premise against the code before anything is built.

Harness y controles

LLM as a judge: a reviewer that tries to refute the work

LLM as a judge means a language model grades another model's work against written criteria. How we run one on every pull request our AI agent opens: machine checks first, a fresh read-only session told to refute, a typed verdict, and the rules we added after the judge got it wrong.

Harness y controles

Vibe coding vs agentic engineering: what's the difference?

Vibe coding accepts AI output that looks finished. Agentic engineering puts the same AI inside a closed loop: a spec, tests, hooks, a review gate and a person who merges. What breaks without the system, and the code that closes the loop.

Harness y controles

AI software factory: what it is and how we run one

An AI software factory turns written intent into reviewed pull requests. What it needs, light vs dark factory, and why a senior still reviews every change.

Harness y controles

Agent harness engineering in practice: from issue to PR

An agent harness is the code around an AI agent that decides what it takes, when it is done and who checks it. Our loop from a GitHub issue to a reviewed PR, the code that carries it, and what broke.

Harness y controles

Claude Code hooks that silently do nothing

A Claude Code hook can pass on every run and still do nothing: stderr sent to /dev/null, a relative path, a trailing || true. Four checks that catch it, and the Stop hook that blocks "done" while tests are red.

Harness y controles

Red-green TDD with AI agents: the test must fail first

AI agents write tests that pass, not tests that prove anything. Our gate runs every new test against the base branch first: if it passes there too, the PR is red. The script, how to add it to CI, and the bug that gave a false pass.

Web scraping y crawlers

Web scraping y crawlers

Crawlee for web scraping: what breaks in production

Crawlee is an open-source library for crawling and scraping with Cheerio, Playwright or Puppeteer. What breaks in production, and the checks that catch a crawler that dies without an error.

Web scraping y crawlers

Playwright vs Puppeteer for testing and scraping

Playwright or Puppeteer? We run Playwright for end-to-end tests and website audits. For scraping, Cheerio without a browser is often enough. What differs, how to decide per page, and where we have not tested Puppeteer.

Decisiones de CTO

Decisiones de CTO

Refactor or rewrite from scratch? How to decide

Refactor when the code does the right thing badly. Rewrite when it does the wrong thing or you do not own it. A decision table for CTOs and a way to do it without stopping the roadmap.

Decisiones de CTO

Technical debt slowing development: what to fix first

You can measure technical debt from git history and bugs, without an expensive tool. Fix the code that changes most and blocks the roadmap first, not the ugliest code. A guide for CTOs.

Decisiones de CTO

Body shopping or a senior developer in your team?

Body shopping gives you developer hours you manage yourself. A senior in your team gives you delivered tasks and a team that learns to work with AI. Compared with outsourcing and hiring, for CTOs.

Decisiones de CTO

Vercel alternatives: why we run Vercel and Cloudflare

We did not replace Vercel, we split the work. Next.js sites stay on Vercel, new apps run on Cloudflare Workers and D1, declared in TypeScript with Alchemy. Pricing with sources, our config, and the deploy block an AI agent hit on Vercel.

Decisiones de CTO

Drizzle vs Prisma: why we run both in production

Drizzle vs Prisma from two ORMs we run in production: Prisma on Postgres in older client apps, Drizzle on Cloudflare D1 in everything new. Real config, the migration flow, what Prisma 7 changed and when we would not switch.

Decisiones de CTO

Better Auth vs Clerk: why we chose Better Auth

Better Auth vs Clerk comes down to where your users and sessions live. We moved from NextAuth to Better Auth in every new app and never picked Clerk. Our real config, the plugins we run, Clerk pricing and when Clerk is the better call.

Decisiones de CTO

Claude Code pricing for a team: plans, API and agents

Claude Code pricing from Anthropic's public list (October 2026): Pro, Max, Team seats, Enterprise and API tokens. Which one fits developers, which one an always-on agent and a CI reviewer run on, and the guardrails that stop a background agent from burning the budget.

Decisiones de CTO

Monorepo vs polyrepo: why we run both

Monorepo vs polyrepo is not a matter of taste. A monorepo draws a code boundary, a polyrepo draws an access boundary. We run every product as a Turborepo monorepo and the company as a polyrepo of git submodules, and an AI agent works in both. Our configs, the trade-offs and how to decide.

Decisiones de CTO

GitHub Actions self-hosted runner for the whole org

A GitHub Actions self-hosted runner is your own machine that picks up CI jobs. How to register it at organization scope, pick it with one variable that falls back to hosted runners, why not to give it the Docker socket, and which repositories do not belong on it.

Siguiente paso

AI-native SDLC

Su equipo tiene IA, pero faltan reglas y controles

Capacidad para su equipo de desarrollo

Cierre las tareas que lleva meses posponiendo

Es hora de dejar de planificar y empezar a resolver.

Contacto

  • Digitaliko s.r.o.
    Šípková 377/17
    958 03 Malé Uherce, Eslovaquia
  • Póngase en contacto
    info@digitaliko.com
    +421 950 595 506
    WhatsApp