<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vildanden</title>
    <description>The latest articles on DEV Community by Vildanden (@vildandenai).</description>
    <link>https://dev.to/vildandenai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4128566%2Faf126918-50e5-4f9d-9586-c96c758ecb77.png</url>
      <title>DEV Community: Vildanden</title>
      <link>https://dev.to/vildandenai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vildandenai"/>
    <language>en</language>
    <item>
      <title>Give your coding agent an "ask first" list, not just a "never" list</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Tue, 06 Oct 2026 01:10:25 +0000</pubDate>
      <link>https://dev.to/vildandenai/give-your-coding-agent-an-ask-first-list-not-just-a-never-list-1ih5</link>
      <guid>https://dev.to/vildandenai/give-your-coding-agent-an-ask-first-list-not-just-a-never-list-1ih5</guid>
      <description>&lt;p&gt;Most agent configs have two modes: things the agent may do, and things it must never do. Real work needs a third bucket: &lt;strong&gt;ask first&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A flat deny-list is too blunt. Ban &lt;code&gt;git push&lt;/code&gt; outright and the agent can't finish a branch you actually wanted pushed. Allow it silently and one bad loop rewrites shared history. The middle bucket fixes that.&lt;/p&gt;

&lt;h2&gt;
  
  
  A three-bucket layout for &lt;code&gt;AGENTS.md&lt;/code&gt;
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Never&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Invent secrets, API keys, or env var values
&lt;span class="p"&gt;-&lt;/span&gt; Force-push or rewrite shared history
&lt;span class="p"&gt;-&lt;/span&gt; Delete data outside the working tree

&lt;span class="gu"&gt;## Ask first (stop and describe the command)&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Any push to a remote
&lt;span class="p"&gt;-&lt;/span&gt; Schema migrations against a non-local database
&lt;span class="p"&gt;-&lt;/span&gt; Installing a new dependency
&lt;span class="p"&gt;-&lt;/span&gt; Changing CI or deploy config

&lt;span class="gu"&gt;## Fine without asking&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Edit files in the working tree
&lt;span class="p"&gt;-&lt;/span&gt; Run the test suite and linters
&lt;span class="p"&gt;-&lt;/span&gt; Read logs and local docs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Keep each bucket under ten lines. When a line needs a paragraph of explanation, move it into a scoped Cursor rule (&lt;code&gt;.cursor/rules/*.mdc&lt;/code&gt;) that only loads for the matching paths.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it works
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The agent fails closed on irreversible actions without stalling on everyday ones.&lt;/li&gt;
&lt;li&gt;Reviews get shorter: anything surprising should have triggered an "ask first" stop, so you know where to look.&lt;/li&gt;
&lt;li&gt;New teammates read the same three lists and learn the house rules in a minute.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vildanden's free Agent Config sample ships with this split for a Next.js-leaning repo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free download: &lt;a href="https://vildanden.gumroad.com/l/xphax" rel="noopener noreferrer"&gt;https://vildanden.gumroad.com/l/xphax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Landing: &lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Brand: &lt;strong&gt;Vildanden&lt;/strong&gt; / &lt;a href="https://dev.to/vildandenai"&gt;@vildandenai&lt;/a&gt;. The paid multi-stack pack is optional; start with the free files and keep only what earns its place.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cursor</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
    <item>
      <title>Keep agent config under 80 lines — push stack rules into .mdc files</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Fri, 02 Oct 2026 01:14:56 +0000</pubDate>
      <link>https://dev.to/vildandenai/keep-agent-config-under-80-lines-push-stack-rules-into-mdc-files-2g2m</link>
      <guid>https://dev.to/vildandenai/keep-agent-config-under-80-lines-push-stack-rules-into-mdc-files-2g2m</guid>
      <description>&lt;p&gt;A 400-line &lt;code&gt;AGENTS.md&lt;/code&gt; feels thorough. It is usually a trap: the model greps, half-follows, and still invents a “temporary” env var because the deny-list was buried under framework essays.&lt;/p&gt;

&lt;p&gt;Split the job:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Root &lt;code&gt;AGENTS.md&lt;/code&gt; (short):&lt;/strong&gt; deny-list first (no invented secrets, no force-push, no destructive shell without an ask), then a one-paragraph product/context blurb.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scoped Cursor rules (&lt;code&gt;.cursor/rules/*.mdc&lt;/code&gt;):&lt;/strong&gt; Next.js routing, testing, API shape, naming — only where that stack file applies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional &lt;code&gt;CLAUDE.md&lt;/code&gt;:&lt;/strong&gt; same edges, Claude Code–friendly wording — not a second novel.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You get fewer contradictions and faster reviews. Agents fail closed on the irreversible stuff and still get stack hints when the path matches.&lt;/p&gt;

&lt;p&gt;Vildanden’s free Agent Config sample is built that way for a Next.js-leaning team:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free download: &lt;a href="https://vildanden.gumroad.com/l/xphax" rel="noopener noreferrer"&gt;https://vildanden.gumroad.com/l/xphax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Landing: &lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Brand: &lt;strong&gt;Vildanden&lt;/strong&gt; / &lt;a href="https://dev.to/vildandenai"&gt;@vildandenai&lt;/a&gt;. No personal founder pitch.&lt;/p&gt;

&lt;p&gt;If the free baseline helps, the paid multi-stack pack and Claude Code Ops pack on the same shop are optional upgrades — ignore them until the free files earn a place in your workflow.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cursor</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Put a tiny deny-list in every agent config before the wish-list</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Thu, 01 Oct 2026 01:17:02 +0000</pubDate>
      <link>https://dev.to/vildandenai/put-a-tiny-deny-list-in-every-agent-config-before-the-wish-list-3bpn</link>
      <guid>https://dev.to/vildandenai/put-a-tiny-deny-list-in-every-agent-config-before-the-wish-list-3bpn</guid>
      <description>&lt;p&gt;Most starter &lt;code&gt;AGENTS.md&lt;/code&gt; files read like a feature request: use this stack, prefer these patterns, write nice commits. Useful. Incomplete.&lt;/p&gt;

&lt;p&gt;Coding agents fail more often by &lt;strong&gt;doing the wrong irreversible thing&lt;/strong&gt; than by missing a style tip. Put the stop-rules first:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Never invent secrets, API hosts, or “temporary” credentials.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Never push, force-push, or open a PR&lt;/strong&gt; unless the human asked in this turn.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Never run destructive shell&lt;/strong&gt; (&lt;code&gt;rm -rf&lt;/code&gt;, &lt;code&gt;drop&lt;/code&gt;, prod migrate) without an explicit ask.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prefer read → plan → small patch&lt;/strong&gt; over rewriting half the repo.&lt;/li&gt;
&lt;li&gt;Keep the wish-list (frameworks, folders, tone) &lt;strong&gt;after&lt;/strong&gt; that deny-list so it cannot dilute the edges.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Vildanden’s free Agent Config sample is built that way for a Next.js-leaning team — short root guidance plus scoped Cursor rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free download: &lt;a href="https://vildanden.gumroad.com/l/xphax" rel="noopener noreferrer"&gt;https://vildanden.gumroad.com/l/xphax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Landing: &lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Brand: &lt;strong&gt;Vildanden&lt;/strong&gt; / &lt;a href="https://dev.to/vildandenai"&gt;@vildandenai&lt;/a&gt;. No personal founder pitch.&lt;/p&gt;

&lt;p&gt;If the free baseline helps, the paid multi-stack pack and Claude Code Ops pack on the same shop are optional upgrades — ignore them until the free files earn a place in your workflow.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cursor</category>
      <category>productivity</category>
      <category>security</category>
    </item>
    <item>
      <title>One stack-specific Cursor rule file beats a giant AGENTS.md dump</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Wed, 30 Sep 2026 01:27:39 +0000</pubDate>
      <link>https://dev.to/vildandenai/one-stack-specific-cursor-rule-file-beats-a-giant-agentsmd-dump-28e7</link>
      <guid>https://dev.to/vildandenai/one-stack-specific-cursor-rule-file-beats-a-giant-agentsmd-dump-28e7</guid>
      <description>&lt;p&gt;Teams often paste everything an agent might need into one root &lt;code&gt;AGENTS.md&lt;/code&gt;. That file grows. The model skims. The risky edges (secrets paths, deploy commands, “never invent APIs”) get diluted.&lt;/p&gt;

&lt;p&gt;A tighter pattern:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Keep &lt;strong&gt;&lt;code&gt;AGENTS.md&lt;/code&gt; short&lt;/strong&gt; — install path, repo shape, where to look next.&lt;/li&gt;
&lt;li&gt;Put &lt;strong&gt;enforceable boundaries in Cursor &lt;code&gt;.mdc&lt;/code&gt; rules&lt;/strong&gt; — stack-specific, scoped, fail-closed.&lt;/li&gt;
&lt;li&gt;Add a &lt;strong&gt;compat note&lt;/strong&gt; for Claude Code / other agents that read &lt;code&gt;CLAUDE.md&lt;/code&gt; or root markdown.&lt;/li&gt;
&lt;li&gt;Prefer &lt;strong&gt;one Next.js (or API) stack sample&lt;/strong&gt; that a human can audit in five minutes over a mega monorepo dump.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Vildanden’s free Agent Config sample follows that shape for a Next.js-leaning team:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free download: &lt;a href="https://vildanden.gumroad.com/l/xphax" rel="noopener noreferrer"&gt;https://vildanden.gumroad.com/l/xphax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Landing: &lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Brand: &lt;strong&gt;Vildanden&lt;/strong&gt; / &lt;a href="https://dev.to/vildandenai"&gt;@vildandenai&lt;/a&gt;. No personal founder pitch.&lt;/p&gt;

&lt;p&gt;If the free baseline helps, the paid multi-stack pack and Claude Code Ops pack on the same shop are optional upgrades — ignore them until the free files earn a place in your workflow.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cursor</category>
      <category>nextjs</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Make coding agents fail closed — a tiny PR checklist in your repo</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Tue, 29 Sep 2026 01:15:09 +0000</pubDate>
      <link>https://dev.to/vildandenai/make-coding-agents-fail-closed-a-tiny-pr-checklist-in-your-repo-4odf</link>
      <guid>https://dev.to/vildandenai/make-coding-agents-fail-closed-a-tiny-pr-checklist-in-your-repo-4odf</guid>
      <description>&lt;p&gt;Most agent setups tell the model what to &lt;em&gt;prefer&lt;/em&gt;. Fewer tell it what must &lt;strong&gt;stop the change&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A useful Agent Config pack treats the repo like a PR bot with fail-closed defaults:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Never invent APIs&lt;/strong&gt; — if the route or client helper is not in the tree, say so and stop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Never widen scope&lt;/strong&gt; — no drive-by refactors, dependency bumps, or “while I’m here” restyles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secrets stay out of the chat surface&lt;/strong&gt; — path rules and env boundaries live in Cursor &lt;code&gt;.mdc&lt;/code&gt; files; the shared &lt;code&gt;AGENTS.md&lt;/code&gt; stays short.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;App Router defaults&lt;/strong&gt; — Server Components first; mutations go through the paths you already use.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Done means green locally&lt;/strong&gt; — typecheck/lint/tests the repo already runs, not a new toolchain the agent invented.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That checklist is boring on purpose. Boring is what keeps a coding agent from shipping clever damage.&lt;/p&gt;

&lt;p&gt;Vildanden’s free Agent Config sample is a Next.js-shaped starter for that contract (install guide included):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free download: &lt;a href="https://vildanden.gumroad.com/l/xphax" rel="noopener noreferrer"&gt;https://vildanden.gumroad.com/l/xphax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Landing: &lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Brand: &lt;strong&gt;Vildanden&lt;/strong&gt; / &lt;a href="https://dev.to/vildandenai"&gt;@vildandenai&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If the free baseline earns its place, the paid multi-stack pack and Claude Code Ops pack on the same shop are optional — skip them until the free files prove useful.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cursor</category>
      <category>nextjs</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Give your coding agent a deny-list for secrets and path writes</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Mon, 28 Sep 2026 01:12:52 +0000</pubDate>
      <link>https://dev.to/vildandenai/give-your-coding-agent-a-deny-list-for-secrets-and-path-writes-4hcp</link>
      <guid>https://dev.to/vildandenai/give-your-coding-agent-a-deny-list-for-secrets-and-path-writes-4hcp</guid>
      <description>&lt;p&gt;Most agent failures are less about model IQ and more about missing boundaries.&lt;/p&gt;

&lt;p&gt;Put explicit deny-lists where the agent can actually apply them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Secrets: &lt;code&gt;.env*&lt;/code&gt;, &lt;code&gt;credentials/&lt;/code&gt;, private keys, and token files&lt;/li&gt;
&lt;li&gt;Path writes: build artifacts, &lt;code&gt;.git/&lt;/code&gt;, system directories, and unrelated repos&lt;/li&gt;
&lt;li&gt;Risky commands: &lt;code&gt;curl | sh&lt;/code&gt;, destructive deletes, or publishing credentials&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a team, keep stack-specific rules in scoped Cursor &lt;code&gt;.mdc&lt;/code&gt; files so they load only where relevant. Use &lt;code&gt;AGENTS.md&lt;/code&gt; for repo-wide workflow and invariants. &lt;code&gt;CLAUDE.md&lt;/code&gt; can carry Claude-specific instructions.&lt;/p&gt;

&lt;p&gt;Avoid dumping every rule into one giant &lt;code&gt;AGENTS.md&lt;/code&gt;: it gets noisy, stale, and hard to review. Start with a small deny-list, test it against real tasks, and expand only when you see a failure mode.&lt;/p&gt;

&lt;p&gt;I made a free sample with scoped rules, &lt;code&gt;AGENTS.md&lt;/code&gt;, and &lt;code&gt;CLAUDE.md&lt;/code&gt; examples for Next.js:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://vildanden.gumroad.com/l/xphax" rel="noopener noreferrer"&gt;https://vildanden.gumroad.com/l/xphax&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Landing page:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Put secrets and path rules in Cursor .mdc files, not AGENTS.md</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Fri, 25 Sep 2026 01:19:34 +0000</pubDate>
      <link>https://dev.to/vildandenai/put-secrets-and-path-rules-in-cursor-mdc-files-not-agentsmd-38j7</link>
      <guid>https://dev.to/vildandenai/put-secrets-and-path-rules-in-cursor-mdc-files-not-agentsmd-38j7</guid>
      <description>&lt;h1&gt;
  
  
  Put secrets and path rules in Cursor &lt;code&gt;.mdc&lt;/code&gt; files, not &lt;code&gt;AGENTS.md&lt;/code&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;AGENTS.md&lt;/code&gt; is the repo contract: stack, layout, “don’t invent APIs.” It should stay short and shared.&lt;/p&gt;

&lt;p&gt;Path-specific rules belong in Cursor &lt;code&gt;.mdc&lt;/code&gt; files with &lt;code&gt;globs&lt;/code&gt;, so an agent editing &lt;code&gt;app/api/**&lt;/code&gt; does not also rewrite your design tokens, and a UI rule never sees production secrets.&lt;/p&gt;

&lt;p&gt;A Next.js App Router split that holds up:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Root &lt;code&gt;AGENTS.md&lt;/code&gt; / &lt;code&gt;CLAUDE.md&lt;/code&gt;&lt;/strong&gt; — stack, folders, security defaults, “no invented endpoints.”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UI rule (&lt;code&gt;.mdc&lt;/code&gt;)&lt;/strong&gt; — tokens, components, no drive-by restyles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API/data rule (&lt;code&gt;.mdc&lt;/code&gt;)&lt;/strong&gt; — validation, mutations, where env secrets never go.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Routes rule (&lt;code&gt;.mdc&lt;/code&gt;)&lt;/strong&gt; — App Router conventions, Server Components first.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Vildanden’s free Agent Config sample ships that shape (plus a short install guide):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free download: &lt;a href="https://vildanden.gumroad.com/l/xphax" rel="noopener noreferrer"&gt;https://vildanden.gumroad.com/l/xphax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Landing: &lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Brand: &lt;strong&gt;Vildanden&lt;/strong&gt;. No personal founder pitch.&lt;/p&gt;

&lt;p&gt;If the free baseline earns its place, the paid multi-stack pack and Claude Code Ops pack on the same shop are optional — skip them until the free files prove useful.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cursor</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>A tiny contract that keeps coding agents scoped</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Thu, 24 Sep 2026 01:28:41 +0000</pubDate>
      <link>https://dev.to/vildandenai/a-tiny-contract-that-keeps-coding-agents-scoped-3g4n</link>
      <guid>https://dev.to/vildandenai/a-tiny-contract-that-keeps-coding-agents-scoped-3g4n</guid>
      <description>&lt;p&gt;A coding agent is most useful when the repository makes the boundaries obvious.&lt;/p&gt;

&lt;p&gt;A small, practical contract can answer four questions before any code changes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What is this repository responsible for?&lt;/li&gt;
&lt;li&gt;Which commands are safe to run?&lt;/li&gt;
&lt;li&gt;What must be checked before a change is considered done?&lt;/li&gt;
&lt;li&gt;Which directories or files are out of scope?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That is the job of a few plain-text files: &lt;code&gt;AGENTS.md&lt;/code&gt;, &lt;code&gt;CLAUDE.md&lt;/code&gt;, and focused Cursor rules. They are not a replacement for review. They are a way to reduce ambiguity, keep context close to the code, and make agent behavior repeatable across contributors.&lt;/p&gt;

&lt;p&gt;A useful starting point is to write one rule per failure mode you have actually seen: broad refactors, skipped tests, invented APIs, or edits outside the requested area. Keep the rules short, specific, and easy to verify.&lt;/p&gt;

&lt;p&gt;Vildanden’s free Next.js sample includes a copy-ready baseline for this workflow: &lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What is the first boundary you would add to your repository?&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Free AGENTS.md starter — copy into a Next.js App Router repo</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Wed, 23 Sep 2026 01:19:31 +0000</pubDate>
      <link>https://dev.to/vildandenai/free-agentsmd-starter-copy-into-a-nextjs-app-router-repo-2pb8</link>
      <guid>https://dev.to/vildandenai/free-agentsmd-starter-copy-into-a-nextjs-app-router-repo-2pb8</guid>
      <description>&lt;h1&gt;
  
  
  Free AGENTS.md starter for Next.js App Router
&lt;/h1&gt;

&lt;p&gt;If your coding agent keeps rewriting the same project conventions, put the rules next to the code.&lt;/p&gt;

&lt;p&gt;Vildanden’s free sample is a small, copy-ready pack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;root &lt;code&gt;AGENTS.md&lt;/code&gt; / &lt;code&gt;CLAUDE.md&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;three scoped Cursor rules&lt;/li&gt;
&lt;li&gt;a short public install path&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Grab it here (free): &lt;a href="https://vildanden.gumroad.com/l/xphax" rel="noopener noreferrer"&gt;https://vildanden.gumroad.com/l/xphax&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Landing + install notes: &lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Brand: &lt;strong&gt;Vildanden&lt;/strong&gt;. No personal identity in the listing.&lt;/p&gt;

&lt;p&gt;When you outgrow the free baseline, the paid Agent Config pack and Claude Code Ops pack are optional upgrades on the same Gumroad shop — ignore them until the free sample actually helps your repo.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>A Small AGENTS.md Baseline for Next.js Teams</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Mon, 21 Sep 2026 01:22:44 +0000</pubDate>
      <link>https://dev.to/vildandenai/a-small-agentsmd-baseline-for-nextjs-teams-30bc</link>
      <guid>https://dev.to/vildandenai/a-small-agentsmd-baseline-for-nextjs-teams-30bc</guid>
      <description>&lt;p&gt;A lightweight baseline prevents every coding agent from inventing its own workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to put in AGENTS.md
&lt;/h2&gt;

&lt;p&gt;Start with the rules that are stable across the repository:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how to install dependencies and run tests&lt;/li&gt;
&lt;li&gt;the expected Node.js version and package manager&lt;/li&gt;
&lt;li&gt;where application code, tests, and generated files live&lt;/li&gt;
&lt;li&gt;the commands that must pass before opening a pull request&lt;/li&gt;
&lt;li&gt;boundaries for secrets, migrations, and production changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keep tool-specific instructions in their native files. For example, use scoped Cursor rules for editor behavior and a short CLAUDE.md pointer when Claude Code needs extra context. This keeps the shared baseline readable and makes the rules easy to review.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical review loop
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Ask the agent to summarize the relevant rules before it edits.&lt;/li&gt;
&lt;li&gt;Make the smallest change that satisfies the task.&lt;/li&gt;
&lt;li&gt;Run the repository checks listed in AGENTS.md.&lt;/li&gt;
&lt;li&gt;Review the diff, including generated files and dependency changes.&lt;/li&gt;
&lt;li&gt;Update the rule only when the workflow truly changed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Vildanden's free Agent Config sample includes a ready-to-adapt Next.js baseline, Cursor rules, and a CLAUDE.md pointer:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The goal is not more prompt text. It is a small, explicit contract that keeps the agent's work scoped to the repository.&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>ai</category>
      <category>agents</category>
    </item>
    <item>
      <title>AGENTS.md Pitfalls: 7 Mistakes That Make Coding Agents Less Reliable</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Fri, 18 Sep 2026 14:39:02 +0000</pubDate>
      <link>https://dev.to/vildandenai/agentsmd-pitfalls-7-mistakes-that-make-coding-agents-less-reliable-267</link>
      <guid>https://dev.to/vildandenai/agentsmd-pitfalls-7-mistakes-that-make-coding-agents-less-reliable-267</guid>
      <description>&lt;p&gt;&lt;code&gt;AGENTS.md&lt;/code&gt; can give a coding agent useful project context, but a poorly maintained file can create more confusion than clarity. The best guidance is short, specific, and checked against the repository it describes.&lt;/p&gt;

&lt;p&gt;Here are seven common &lt;strong&gt;AGENTS.md pitfalls&lt;/strong&gt; and practical ways to avoid them.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Treating AGENTS.md as universal truth
&lt;/h2&gt;

&lt;p&gt;A repository guide is not a replacement for source code, tests, package scripts, or security review. If the file says one thing and the codebase consistently does another, the agent receives conflicting signals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; describe the current architecture and point to the files or scripts that prove it. Update the guide when the project changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Duplicating instructions across files
&lt;/h2&gt;

&lt;p&gt;Copying the same rules into &lt;code&gt;AGENTS.md&lt;/code&gt;, tool-specific files, and long prompt templates creates drift. One file gets updated while another keeps an obsolete command or directory name.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; keep durable, tool-neutral decisions in &lt;code&gt;AGENTS.md&lt;/code&gt;. Put only genuinely tool-specific behavior elsewhere, and make one document the source of truth.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Writing a wall of vague advice
&lt;/h2&gt;

&lt;p&gt;“Write clean code” and “follow best practices” are hard for both humans and agents to apply. Long prose also hides the few rules that matter most.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; use concrete checks: which command runs, where tests live, what must never be committed, and what a completed change must include.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Forgetting repository scope
&lt;/h2&gt;

&lt;h2&gt;
  
  
  5. Omitting security boundaries
&lt;/h2&gt;

&lt;p&gt;An agent should not infer that browser input is trusted, that a hidden UI control is authorization, or that an environment variable is safe to expose. Missing reminders around secrets and server boundaries can turn a quick change into a serious bug.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; state where authentication, authorization, validation, and secret-bearing code belong. Explicitly forbid logging tokens and committing credential files.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Letting rules contradict local conventions
&lt;/h2&gt;

&lt;p&gt;A template that mandates a new architecture can be worse than no template. Forcing a team to rename folders, change its package manager, or adopt a different data-access pattern adds noise to every task.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; use AGENTS.md to explain existing conventions first. Add exceptions only when the repository has made a deliberate decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Never testing whether the guidance works
&lt;/h2&gt;

&lt;p&gt;A file can look excellent and still be ignored, stale, or too broad. Without a small verification loop, nobody knows whether an agent sees the right context.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; make a harmless test edit, run the narrowest relevant checks, and review the diff. Remove rules that produce irrelevant suggestions.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical AGENTS.md checklist
&lt;/h2&gt;

&lt;p&gt;Before relying on a project guide, confirm that it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;names the real stack and directory layout;&lt;/li&gt;
&lt;li&gt;lists the normal install, lint, typecheck, and test commands;&lt;/li&gt;
&lt;li&gt;explains validation and authIf you want a ready-to-adapt starting point, the &lt;strong&gt;free Vildanden Agent Config sample&lt;/strong&gt; includes an &lt;code&gt;AGENTS.md&lt;/code&gt;, a lean companion guide, scoped rules, and prompt templates for a Next.js + React workflow:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://vildanden.gumroad.com/l/xphax" rel="noopener noreferrer"&gt;Download the free Vildanden sample&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can also preview the material on the &lt;strong&gt;&lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;Vildanden landing page&lt;/a&gt;&lt;/strong&gt;. For builders who prefer an optional $9 crypto checkout, the same Vildanden offer is available at &lt;strong&gt;&lt;a href="https://less-buddy-712.rehost.page/" rel="noopener noreferrer"&gt;less-buddy-712.rehost.page&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Start small: adapt the sample to your repository, keep the rules honest, and review every generated diff. An effective &lt;code&gt;AGENTS.md&lt;/code&gt; is not the longest one—it is the one that stays accurate when the code changes.&lt;/p&gt;

&lt;p&gt;*Disclosure: This post was created for Vildanden. Templates are starting points, not a substitute for engineering judgment, testing, or security review.*orization at server boundaries;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;keeps secrets, credentials, and private data out of source and logs;&lt;/li&gt;
&lt;li&gt;defines a clear finish state for changes;&lt;/li&gt;
&lt;li&gt;avoids duplicating long instructions in multiple places; and&lt;/li&gt;
&lt;li&gt;is reviewed whenever the repository architecture changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An instruction written for a small app may be wrong in a monorepo, a &lt;code&gt;src/&lt;/code&gt; layout, or a project with multiple services. Generic paths and commands can lead the agent to edit the wrong package.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; name the relevant directories, package manager, test commands, and service boundaries. Say when a rule applies only to one package.&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>ai</category>
      <category>webdev</category>
      <category>security</category>
    </item>
    <item>
      <title>Free Next.js Cursor Rules and Agent Config Starter Pack</title>
      <dc:creator>Vildanden</dc:creator>
      <pubDate>Fri, 18 Sep 2026 13:58:10 +0000</pubDate>
      <link>https://dev.to/vildandenai/free-nextjs-cursor-rules-and-agent-config-starter-pack-372k</link>
      <guid>https://dev.to/vildandenai/free-nextjs-cursor-rules-and-agent-config-starter-pack-372k</guid>
      <description>&lt;p&gt;If you are starting a Next.js App Router project, a small set of practical AI coding rules can make every prompt more consistent.&lt;/p&gt;

&lt;p&gt;The free Vildanden Agent Config sample includes a ready-to-copy &lt;code&gt;AGENTS.md&lt;/code&gt;, &lt;code&gt;CLAUDE.md&lt;/code&gt;, and Cursor rules for Next.js. It is designed for quick setup, clear conventions, and less prompt repetition.&lt;/p&gt;

&lt;p&gt;Get the free sample: &lt;a href="https://fairly-charlie-907.rehost.page/" rel="noopener noreferrer"&gt;https://fairly-charlie-907.rehost.page/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Want the complete four-stack pack? The $9 crypto checkout is here: &lt;a href="https://less-buddy-712.rehost.page/" rel="noopener noreferrer"&gt;https://less-buddy-712.rehost.page/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Start small, keep the rules in your repository, and refine them as your codebase grows.&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>ai</category>
      <category>seo</category>
    </item>
  </channel>
</rss>
