⚠️ Natural Google Cloud British voice unavailable on this browser.
Transcript shown for reading. For audio, use Google Chrome with internet access.
🎙️ Podcast 1
Introduction: Linting
A documentary narration — combing the code for loose threads
Ready
NarratorLinting. A noun and a gerund. Pronounced LIN-ting. In IPA: /ˈlɪntɪŋ/.
NarratorLinting is the process of running a static code analysis tool — called a linter — over source code to automatically detect programming errors, stylistic inconsistencies, and potential bugs before the code is executed. It is automated quality control for your codebase.
NarratorThe name is wonderfully literal. Lint was the name given to the short, loose fibres that accumulate on fabric — tiny, almost invisible imperfections that you might not notice until you look carefully. The analogy to code is exact: linting looks for the small, easy-to-miss errors that could cause problems later.
NarratorThe origin is traceable to 1978, when Stephen C. Johnson at Bell Labs wrote a Unix utility called "lint" to scan C source code for errors that the compiler might miss — things like unused variables, suspicious type conversions, and unreachable code. The tool worked the way a lint roller works on a jacket: methodically combing through to catch what should not be there.
NarratorFrom that single Unix tool, linting became a discipline. Every major programming language now has one or more dedicated linters: ESLint for JavaScript, Pylint and Flake8 for Python, PHP_CodeSniffer for PHP, and many others. The act of running them — linting — became a standard verb in software development.
NarratorToday linting covers far more than syntax errors. Modern linters enforce team coding standards, flag potential security vulnerabilities, ensure consistent formatting, and even check for accessibility issues in front-end code. Some linters can auto-fix minor problems; others simply report and let the developer decide.
NarratorIn register, linting is a technical term — specific to software development and rarely found outside it. Developers speak of "running linting", "passing linting", "fixing linting errors", and "enforcing linting in CI". Its tone is practical, professional, and deeply familiar to anyone who works with code.
NarratorThe best-run development teams treat linting not as an optional tidiness tool, but as a gate — no code ships until it passes linting. It is the discipline that separates a codebase that ages well from one that slowly becomes unmaintainable.
NarratorLinting does not find every bug — but it reliably catches the ones that should never have been written in the first place.
💬 Podcast 2
Daily Use: Real Conversations
Two British speakers — linting in real teams, and the synonyms that come close
Ready
Speaker AThe pull request I submitted yesterday got blocked by linting errors. Twenty-three of them. I was mortified.
Speaker BHa — I have been there. What kind of errors? Style issues or actual logic problems?
Speaker AMostly style — inconsistent quotes, some unused variables, a few lines over the max length. But that is kind of the point of linting, isn't it? Catching those things before they pile up.
Speaker BExactly. Linting enforces the team's agreed standards automatically, so code review doesn't have to. Without it, reviewers spend half their time commenting on formatting instead of the actual logic.
Speaker AThere is a debate in our team about whether linting should be a hard block or just a warning. Some people find it annoying when a pipeline fails over a missing semicolon.
Speaker BI have heard that argument. But my view is that if linting is advisory, people ignore it. Making it a hard block is the only way to ensure the codebase stays consistent over time. The friction is intentional.
Speaker AWhat about the word "static analysis" — isn't that the same as linting?
Speaker BThey overlap but are not identical. Static analysis is the broader category — it covers any automated code examination that happens without running the code. Linting is a specific type of static analysis focused on style, conventions, and simple error patterns. Deep security or complexity analysis would be static analysis but not typically called linting.
Speaker AAnd "code formatting" — people sometimes confuse that with linting too.
Speaker BFormatting is purely about the visual layout of code — indentation, spacing, line breaks. Tools like Prettier handle formatting. Linting is about the meaning and quality of the code — whether it follows good practices, avoids dangerous patterns, and adheres to team conventions. They complement each other perfectly but do different jobs.
Speaker AA mistake I see juniors make is thinking linting is optional — something you set up if you have spare time.
Speaker BYes — that attitude leads to technical debt very quickly. Linting from day one of a project is far cheaper than introducing it later when there are thousands of existing violations to fix. It is one of those things that pays for itself many times over.
Speaker ASo: linting for automated quality and convention checks; static analysis for the broader category of code examination; and formatting for visual layout. Each is distinct but all work together.
Speaker BPrecisely. Set up linting early, enforce it hard, and your codebase will thank you two years from now.
⌨️ Podcast 3
Prompt Engineering: Linting in Dev
Instructor + Developer — 6 practical, memorable AI prompts built around "linting"
Ready
InstructorToday we are looking at how "linting" works as a precision term in AI development prompts. When you include linting in a prompt, you are telling the AI to think about code quality from the start — not just making something that runs, but making something that is clean, consistent, and team-ready. The word shifts the output from a prototype to a professional-grade solution.
InstructorThe word also signals tooling knowledge — ESLint, PHP_CodeSniffer, pre-commit hooks, CI integration. Mentioning linting in your prompt naturally pulls in configuration files, scripts, and automation that you would otherwise have to request explicitly. Let us go through six prompts that demonstrate this.
DeveloperSo "linting" in a prompt is essentially a quality signal that upgrades the entire output?
InstructorExactly. Let us start with the most common request — setting up the linting workflow itself.
Prompt 1 · PHP / JS Setup
Set up a linting workflow for a PHP and vanilla JavaScript project. Use ESLint with single-quote strings, no unused variables, and consistent 2-space indentation. Use PHP_CodeSniffer with PSR-12. Add a pre-commit hook that runs both linters and blocks the commit if linting fails. Show all config files and the hook script.
InstructorSaying "linting workflow" instead of "error checking" told the AI to generate .eslintrc.json, phpcs.xml, a pre-commit hook script, and installation instructions — the complete toolchain. Without the word linting, you would have received a much simpler, less useful response.
DeveloperThe pre-commit hook came automatically — that is exactly what you want in a team project. What about integrating linting into a CI pipeline?
InstructorHere is the CI integration prompt.
Prompt 2 · CI / GitHub Actions
Write a GitHub Actions workflow that runs linting on every pull request. Run ESLint on the JavaScript files in /assets/js/ and PHP_CodeSniffer on the PHP files in /src/. Fail the workflow if linting reports any errors. Show the complete .github/workflows/lint.yml file.
InstructorThe AI generated a complete, deployable YAML workflow because "linting" told it exactly what kind of CI check was needed. Without that word, a vague "check my code" prompt would have produced something far less specific and useful.
DeveloperThat YAML file would take a while to write by hand. What about fixing existing linting errors in legacy code?
InstructorGreat use case. Here is the legacy clean-up prompt.
Prompt 3 · Code Quality / Refactor
Refactor the following JavaScript file to pass ESLint linting with the airbnb style guide. Fix all linting errors: replace var with const or let, remove unused variables, add missing semicolons, and convert double quotes to single quotes. Return the corrected code only, no explanations.
InstructorSpecifying "pass ESLint linting with the airbnb style guide" gives the AI a precise target. Instead of guessing what improvements to make, it knows exactly which rules to follow. The word linting, combined with the named style guide, eliminates ambiguity completely.
DeveloperThat level of precision saves a lot of back-and-forth. What about generating a new component that already passes linting from the start?
InstructorHere is the linting-first component prompt.
Prompt 4 · UI / Navigation
Build me a responsive navigation bar with a hamburger menu for mobile. Write it in vanilla JavaScript and CSS only. Make sure the code passes ESLint linting with no console.log statements, const used instead of var, and single quotes throughout. No frameworks.
InstructorAdding "passes ESLint linting" to a UI component request instantly upgrades the output quality. The AI generates code that is clean by design — not prototype code that needs a separate clean-up pass. The linting requirement is built into the first draft.
DeveloperThat is the ideal — production-quality from the first output. What about a PHP backend — building an API endpoint that passes linting?
InstructorHere is the PHP backend prompt.
Prompt 5 · App Dev / PHP API
Build a PHP REST API endpoint that returns a paginated list of users from a MySQL database. Write it to pass PHP_CodeSniffer linting with PSR-12: proper type hints on all functions, docblock comments, no trailing whitespace, and 4-space indentation. Return clean, production-ready code.
InstructorType hints, docblocks, no trailing whitespace — all of those details came from specifying "pass PHP_CodeSniffer linting with PSR-12." The AI knows exactly what PSR-12 requires. One phrase replaced a page of individual requirements.
DeveloperPSR-12 as a shorthand for a whole set of requirements — very efficient. And the full application with linting baked in from the start?
InstructorHere is the full-system prompt — the one you can copy and use today.
Prompt 6 · Full Application
Build a complete PHP and vanilla JavaScript task manager app. All JavaScript must pass ESLint linting with the airbnb config. All PHP must pass PHP_CodeSniffer linting with PSR-12. Include a pre-commit hook that runs linting before every commit. Use MySQL for storage. No frameworks.
InstructorA full-stack application with dual linting standards enforced from line one — that is a production-ready brief. The word linting, applied to both the JavaScript and PHP layers with named standards, tells the AI to build something a real team could hand off and maintain without immediately accumulating technical debt.
DeveloperWorkflow setup, CI integration, legacy clean-up, component generation, PHP API, full application — linting shaped the quality of every output.
InstructorThat is the power of precise vocabulary in a prompt. "Linting" does not just describe a process — it invokes an entire quality philosophy. It tells the AI: I am a professional developer, I care about maintainability, and I want code that will still look good in two years. One word. Completely different output.