Tooling
The tools around the code: git, terminals, SSH, tmux, dev containers, and the Claude Code features that save the most time.
50 posts · page 2 of 2
npm Supply Chain Security: Install Scripts, Release Cooldowns, Provenance, and Trusted Publishing
Compromised maintainer accounts and self-propagating worms made npm installs an attack surface. The threat model, disabling install scripts, release cooldowns in npm, pnpm, Yarn, and Bun, lockfile discipline, provenance, trusted publishing, and isolating installs.
What Are npm and package.json? A Beginner's Guide
Every JavaScript project has a package.json and a giant node_modules folder, and AI tools run npm commands constantly. What packages are, what npm install actually does, what the lockfile is for, and the handful of commands and warnings you need to understand.
Monorepo or Separate Repos? A Practical Guide for Small Teams
Should your frontend, backend, and shared code live in one repository or several? The real trade-offs — atomic changes, tooling cost, deploy independence, access control — how monorepo tooling like workspaces and Turborepo helps, and why AI agents tip the balance.
Merge Conflicts Explained: What They Are and How to Fix Them
CONFLICT (content): Merge conflict in app.js looks alarming, but it's Git asking you a simple question. Why conflicts happen, how to read the <<<<<<< and >>>>>>> markers, how to resolve one in VS Code or with an AI tool, how to back out safely, and how to avoid most of them.
Linters and Formatters Explained: ESLint, Prettier, Biome, and Ruff
A formatter makes code look consistent; a linter catches likely bugs. What each does, the common tools for JavaScript and Python, how to run them automatically on save and before every commit, and why they matter even more when an AI is writing the code.
How to Install Claude Code on Mac, Windows, and Linux
A step-by-step guide to installing Claude Code: the recommended native installer, Homebrew, WinGet, and npm; which account you need; signing in; checking it works with claude doctor; updating; and fixing the install problems beginners hit most often.
How to Read a Diff: Reviewing What Your AI Tool Changed
A diff shows exactly what changed in your code: red lines removed, green lines added. How to read unified and side-by-side diffs, what the @@ lines mean, where to look them up in Git, VS Code, and GitHub, and a quick review routine for AI-generated changes.
What Is .gitignore? Keeping Secrets and Junk Out of Git
A .gitignore file tells Git which files never to save — your .env secrets, node_modules, build output, and OS clutter. How it works, the pattern syntax, a starter file for JavaScript projects, and what to do if you already committed something you shouldn't have.
GitHub Codespaces Alternatives in 2026: An Honest Shortlist
Codespaces is a strong product, but not the right fit for everyone — usage billing, GitHub lock-in, and no path from dev environment to running app. The alternatives worth considering in 2026, what each is actually good at, and which ones have quietly changed direction.
Set Up CI With GitHub Actions in Ten Minutes
Continuous integration runs your checks on every push and pull request, so broken code is caught before it merges — whoever, or whatever, wrote it. A working GitHub Actions workflow for a Node project, what each line does, how to make checks required, and the mistakes that make CI slow or insecure.
Git Branches Explained for Beginners
A branch is a safe parallel copy of your project where you can try something without touching the working version. What branches are, the commands to create, switch, and merge them, a simple workflow for solo builders, and why branches matter when an AI agent is editing your code.
Git and GitHub for Beginners: The Undo Button for Your Whole Project
If you build with AI, git is the single most useful thing you can learn — it lets you save your project at good moments and go back when the AI breaks something. What git and GitHub are, the six commands you need, and a simple routine to follow.
File Paths Explained: Absolute, Relative, and Why 'File Not Found' Happens
Cannot find module './components/Button'? ENOENT: no such file or directory? Most of the time it's a path problem. How file paths work on Mac, Linux, and Windows, absolute vs relative paths, ./ and ../, the working directory, case sensitivity, and import aliases like @/.
Docker Compose for Local Development: App, Postgres, and Redis in One Command
A compose.yaml that starts your whole stack — app, database, cache, and workers — with one command. Services, networking by service name, volumes for data and code, health-checked startup order, env files, profiles, watch mode for live reload, and the pitfalls on macOS and Windows.
Can You Really Code on an iPad or Chromebook?
The keyboard is fine. The problem is that tablets and Chromebooks can't run your project's toolchain like a laptop. The approaches that work — SSH to a remote machine, browser editors, cloud workspaces, and AI agents doing the heavy lifting — and where each falls short.
Claude Code Subagents: When to Split the Work (and When Not To)
Subagents give Claude Code a second context window: a helper that does a noisy job — running tests, searching a codebase, reading logs — and hands back only the summary. How they work, how to write your own, and the tasks where they help versus the ones where they just add cost.
Claude Code Slash Commands: The Ones Worth Knowing on Day One
Claude Code has dozens of built-in slash commands. The dozen a beginner actually needs — /init, /clear, /compact, /context, /usage, /model, /resume, /rewind, /plan, /diff, /permissions, /help — what each does, when to use it, and how to make your own.
Claude Code Skills: Turn the Prompts You Keep Retyping Into Commands
If you've pasted the same instructions into Claude Code more than twice, it should be a skill. How skills work, how they differ from CLAUDE.md, how to write one with arguments and live context, and four skills worth having in almost any project.
Claude Code Settings Explained: settings.json Scopes, Precedence, and a Team Setup
Claude Code reads settings from managed, command-line, local, project, and user files. Where each lives, which wins, how permission lists merge, what belongs in the committed project file vs your personal one, and a practical team configuration with permissions, hooks, and environment variables.
Connecting MCP Servers to Claude Code: Setup, Scopes, and the Security Question
MCP servers let Claude Code talk to your issue tracker, database, error monitoring, and docs. Adding one is a single command. Choosing which ones to trust is the harder part. How to connect them, where the configuration lives, and how to keep a useful integration from becoming a data leak.
Claude Code Hooks: Rules the Agent Can't Forget
CLAUDE.md tells Claude Code what you'd like. Hooks make it happen, every time — blocking edits to protected files, formatting after every change, refusing to stop while tests fail. Five practical hooks, how they work, and the honest limits of what a hook can enforce.
Running Claude Code Headless: claude -p in Scripts, Cron, and CI
Add -p and Claude Code stops being a chat and becomes a command: pipe input in, get text or JSON out, exit with a status code. How print mode works, how to control what it's allowed to do and spend, authentication for CI, and where headless runs still need somewhere to live.
Browser Developer Tools for Beginners: The Five Tabs That Matter
Every browser has a built-in toolkit that shows what your app is really doing. How to open DevTools, and how to use the Elements, Console, Network, Application, and device-mode views to find bugs and give your AI tool something useful to work with.
Analytics for Beginners: What to Measure in Your First App
You launched. Is anyone using it? What web analytics and product analytics are, the handful of numbers that matter for a new app, privacy-friendly tools that don't need a cookie banner, how to track events, and how not to drown in dashboards.
Leaving Gitpod: Where Cloud Dev Environments Went in 2026
Gitpod Classic shut down in October 2025 and the product became Ona, an AI-agent platform on a new runtime. If that broke your workflow, here's an honest map of the alternatives and what to check before you migrate.
Cloud Development Environments vs Local Setup: An Honest Comparison
Cloud development environments fix onboarding, parity, and machine sprawl — and introduce latency, cost, and offline problems. A practical breakdown of when each one wins, without the vendor spin.