<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Murilo Machado — Articles</title>
  <link href="https://murilomachado.pages.dev/atom.xml" rel="self" />
  <link href="https://murilomachado.pages.dev/articles" />
  <id>https://murilomachado.pages.dev/</id>
  <updated>2026-02-27T00:00:00.000Z</updated>
  <author><name>Murilo Machado</name></author>
  <entry>
    <title>Building an AI-Powered Playwright Plugin for Self-Healing Test Selectors</title>
    <link href="https://murilomachado.pages.dev/articles/playwright-smart-locators" />
    <id>https://murilomachado.pages.dev/articles/playwright-smart-locators</id>
    <published>2026-02-27T00:00:00.000Z</published>
    <updated>2026-02-27T00:00:00.000Z</updated>
    <summary>How I built @axeforging/playwright-smart-locators — a Playwright plugin that uses local 7B models to fix broken test selectors automatically, with zero cloud API costs.</summary>
    <author><name>Murilo Machado</name></author>
  </entry>
  <entry>
    <title>YankRun: A Project Templating Engine That Doesn&apos;t Fight Your Stack</title>
    <link href="https://murilomachado.pages.dev/articles/yankrun-project-templating" />
    <id>https://murilomachado.pages.dev/articles/yankrun-project-templating</id>
    <published>2025-11-20T00:00:00.000Z</published>
    <updated>2025-11-20T00:00:00.000Z</updated>
    <summary>Why I built a Go templating CLI with custom delimiters — because Helm uses {{ }}, Jinja uses {% %}, and your repo already has both.</summary>
    <author><name>Murilo Machado</name></author>
  </entry>
  <entry>
    <title>structlint: Enforcing Project Structure as Code</title>
    <link href="https://murilomachado.pages.dev/articles/structlint-directory-linter" />
    <id>https://murilomachado.pages.dev/articles/structlint-directory-linter</id>
    <published>2025-10-15T00:00:00.000Z</published>
    <updated>2025-10-15T00:00:00.000Z</updated>
    <summary>A Go CLI that validates directory structures and file naming patterns against a YAML ruleset — catching structural drift, sensitive file commits, and naming violations in CI.</summary>
    <author><name>Murilo Machado</name></author>
  </entry>
  <entry>
    <title>ReleaseForge: AI-Powered Release Notes from Git History</title>
    <link href="https://murilomachado.pages.dev/articles/releaseforge-release-notes" />
    <id>https://murilomachado.pages.dev/articles/releaseforge-release-notes</id>
    <published>2025-09-01T00:00:00.000Z</published>
    <updated>2025-09-01T00:00:00.000Z</updated>
    <summary>A Go CLI that generates release notes from conventional commits — with optional AI summarisation via Gemini, OpenAI, or Anthropic, and automatic semver bump suggestions.</summary>
    <author><name>Murilo Machado</name></author>
  </entry>
  <entry>
    <title>ReviewForge: AI Code Reviews with Personality</title>
    <link href="https://murilomachado.pages.dev/articles/reviewforge-ai-code-review" />
    <id>https://murilomachado.pages.dev/articles/reviewforge-ai-code-review</id>
    <published>2025-08-15T00:00:00.000Z</published>
    <updated>2025-08-15T00:00:00.000Z</updated>
    <summary>A GitHub Action and CLI that reviews pull requests using AI — line-level comments, severity levels, reviewer personas, and learning reports for developer growth.</summary>
    <author><name>Murilo Machado</name></author>
  </entry>
  <entry>
    <title>aigate: Building Secure AI Sandboxes with Kernel-Level Isolation</title>
    <link href="https://murilomachado.pages.dev/articles/ai-sandbox-kernel-isolation" />
    <id>https://murilomachado.pages.dev/articles/ai-sandbox-kernel-isolation</id>
    <published>2025-07-05T00:00:00.000Z</published>
    <updated>2025-07-05T00:00:00.000Z</updated>
    <summary>Why application-level sandboxing fails for AI agents, and how aigate uses POSIX ACLs, mount namespaces, and cgroups v2 to enforce real isolation.</summary>
    <author><name>Murilo Machado</name></author>
  </entry>
  <entry>
    <title>How I Run Enterprise Penetration Tests</title>
    <link href="https://murilomachado.pages.dev/articles/enterprise-pentesting-approach" />
    <id>https://murilomachado.pages.dev/articles/enterprise-pentesting-approach</id>
    <published>2025-04-10T00:00:00.000Z</published>
    <updated>2025-04-10T00:00:00.000Z</updated>
    <summary>Lessons from executing 10+ enterprise pentests across fintech, government, and retail — coordinating specialist teams and maintaining 100% SLA adherence.</summary>
    <author><name>Murilo Machado</name></author>
  </entry>
  <entry>
    <title>From Training School to Consultancy: Building and Selling VilasBoasIT</title>
    <link href="https://murilomachado.pages.dev/articles/vilasboasit-entrepreneurial-journey" />
    <id>https://murilomachado.pages.dev/articles/vilasboasit-entrepreneurial-journey</id>
    <published>2024-03-20T00:00:00.000Z</published>
    <updated>2024-03-20T00:00:00.000Z</updated>
    <summary>How I co-founded a training school in São Paulo, scaled it into a consultancy serving AB-InBev, Nubank, and Heineken, trained 2,000+ engineers — and then sold the company.</summary>
    <author><name>Murilo Machado</name></author>
  </entry>
</feed>
