Engineering
Jak budujemy oprogramowanie z AI w zespole
Dla CTO i programistów: jak u nas współpracują agent, harness i seniorska kontrola jakości. Zasady, których używamy w ponad 15 projektach produkcyjnych od 2023 roku.
Zespół ma AI, ale bez zasad i kontroli? AI-native SDLC. Zespół nie nadąża z backlogiem? Wsparcie dla Państwa zespołu deweloperskiego.
AI w zespole deweloperskim

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.

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.

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.

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.

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.

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.

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 i kontrole

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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 i crawlery

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.

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.
Decyzje 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.

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.

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.

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.

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.

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.

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.

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.

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.
Co dalej
Zespół ma AI, ale brakuje zasad i kontroli
Zadania, które odkładają Państwo od miesięcy, wreszcie gotowe
Czas przestać planować i zacząć działać.
Kontakt
- Digitaliko s.r.o.
Šípková 377/17
958 03 Malé Uherce, Słowacja - Prosimy o kontakt
info@digitaliko.com
+421 950 595 506
WhatsApp