<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/structured-agentic-development-on-a-real-codebase-bln5ltgtw" -->

---
title: Structured Agentic Development on a Real Codebase
description: 8th Light describes a structured agentic development harness built around Claude Code for a real healthcare startup project. The framework adapts the...
canonical: https://daily.dev/posts/structured-agentic-development-on-a-real-codebase-bln5ltgtw
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Structured Agentic Development on a Real Codebase | daily.dev
og:description: 8th Light describes a structured agentic development harness built around Claude Code for a real healthcare startup project. The framework adapts the...
og:url: https://daily.dev/posts/structured-agentic-development-on-a-real-codebase-bln5ltgtw
og:image: https://api.daily.dev/og/posts/blN5Ltgtw.png
og:image:alt: Structured Agentic Development on a Real Codebase
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Structured Agentic Development on a Real Codebase

**[8th Light](https://daily.dev/sources/8thlight)** · 14 min read · 2 upvotes · 0 comments

## Summary

8th Light describes a structured agentic development harness built around Claude Code for a real healthcare startup project. The framework adapts the Research-Plan-Implement methodology with a CLAUDE.md knowledge root, path-scoped rules files that load context-relevant conventions automatically, MCP integrations connecting Linear and Figma directly to the agent, and two core workflow skills: /story-writer for research and planning, and /tdd-build for TDD-driven implementation. A key innovation is a test-writer subagent that operates in a fresh context window with no visibility into implementation code, enforced by a hook that restricts file writes to test paths only. The result: a two-developer team delivered a multi-tenant platform with an AI coaching companion while maintaining code quality, architectural consistency, and tight product-design-engineering feedback loops.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://8thlight.com/insights/teaching-the-agent-our-craft-structured-agentic-development-on-a-real-codebase>

## Questions this post answers

### How can I set up Claude Code path-scoped rules so different parts of a codebase get different conventions?

Path-scoped rules files declare which paths they govern in YAML frontmatter (for example, matching test file patterns), and Claude Code automatically loads the matching rules file when the agent works on files in that path. A backend architecture rules file never loads during a frontend task, keeping context lean and guidance specific, such as loading frontend testing selector conventions only for test files.

_Teams standardizing agent conventions across a codebase can find similar Claude Code workflow patterns on daily.dev._

### How do you stop a Claude Code test-writer subagent from editing implementation files instead of just tests?

A PreToolUse hook script (registered in the subagent's frontmatter) intercepts every Edit and Write call the subagent makes and checks the target path against an allowlist of test file patterns, using regex matching against directories like backend/tests/ or files ending in .test.*. If a path fails the check, the hook returns a structured deny decision with a reason before the file is touched, acting as a hard backstop beyond prompt instructions.

_Developers building guardrails for autonomous coding agents can track hook-based enforcement patterns on daily.dev._

### Why should a test-writing subagent have no visibility into the implementation code when doing TDD with an AI agent?

A test written with the implementation already visible tends to describe that implementation rather than the actual required behavior. Dispatching a test-writer subagent with only the behavioral spec, starting from a fresh context window with no knowledge of the code the main agent is about to write, keeps tests focused on what the system should do and prevents the agent from drifting toward matching its tests to how the code happens to be structured.

_Anyone designing subagent isolation for TDD workflows can follow more agentic development patterns on daily.dev._

## Similar posts on daily.dev

- [How Claude Code works in large codebases: Best practices and where to start](https://daily.dev/posts/how-claude-code-works-in-large-codebases-best-practices-and-where-to-start-p1sdqg36c) · Hacker News · 1 upvotes · 0 comments
- [How to Build a Software Factory with Claude Code: From Vibe Coding to Agentic Development](https://daily.dev/posts/how-to-build-a-software-factory-with-claude-code-from-vibe-coding-to-agentic-development-kswago4dw) · freeCodeCamp · 7 upvotes · 0 comments
- [Agentic coding finally clicked when I wired it to a kanban board](https://daily.dev/posts/agentic-coding-finally-clicked-when-i-wired-it-to-a-kanban-board-8oagsdeet) · XDA Developers · 1 upvotes · 0 comments
- [Medium](https://daily.dev/posts/medium-7efociuwx) · Medium · 0 upvotes · 0 comments

---

Tags: [#ai-coding](https://daily.dev/tags/ai-coding), [#mcp](https://daily.dev/tags/mcp), [#claude-code](https://daily.dev/tags/claude-code), [#tdd](https://daily.dev/tags/tdd)

[View this post on daily.dev](https://daily.dev/posts/structured-agentic-development-on-a-real-codebase-bln5ltgtw)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Structured Agentic Development on a Real Codebase","url":"https://daily.dev/posts/structured-agentic-development-on-a-real-codebase-bln5ltgtw","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/structured-agentic-development-on-a-real-codebase-bln5ltgtw"},"datePublished":"2026-07-06T20:25:34.168Z","dateModified":"2026-09-13T18:25:48.105Z","description":"8th Light describes a structured agentic development harness built around Claude Code for a real healthcare startup project. The framework adapts the...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/78078eb1414d83086d166fbd4a54c4f7?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/78078eb1414d83086d166fbd4a54c4f7?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"8th Light","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"8th Light","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/d7a7c32ba7fe46a483a982b5ff7a8335","url":"https://daily.dev/sources/8thlight"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/structured-agentic-development-on-a-real-codebase-bln5ltgtw","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ai-coding,mcp,claude-code,tdd","timeRequired":"PT14M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"8th Light","item":"https://daily.dev/sources/8thlight"},{"@type":"ListItem","position":3,"name":"Structured Agentic Development on a Real Codebase"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/structured-agentic-development-on-a-real-codebase-bln5ltgtw#faq","mainEntity":[{"@type":"Question","name":"How can I set up Claude Code path-scoped rules so different parts of a codebase get different conventions?","acceptedAnswer":{"@type":"Answer","text":"Path-scoped rules files declare which paths they govern in YAML frontmatter (for example, matching test file patterns), and Claude Code automatically loads the matching rules file when the agent works on files in that path. A backend architecture rules file never loads during a frontend task, keeping context lean and guidance specific, such as loading frontend testing selector conventions only for test files. Teams standardizing agent conventions across a codebase can find similar Claude Code workflow patterns on daily.dev."}},{"@type":"Question","name":"How do you stop a Claude Code test-writer subagent from editing implementation files instead of just tests?","acceptedAnswer":{"@type":"Answer","text":"A PreToolUse hook script (registered in the subagent's frontmatter) intercepts every Edit and Write call the subagent makes and checks the target path against an allowlist of test file patterns, using regex matching against directories like backend/tests/ or files ending in .test.*. If a path fails the check, the hook returns a structured deny decision with a reason before the file is touched, acting as a hard backstop beyond prompt instructions. Developers building guardrails for autonomous coding agents can track hook-based enforcement patterns on daily.dev."}},{"@type":"Question","name":"Why should a test-writing subagent have no visibility into the implementation code when doing TDD with an AI agent?","acceptedAnswer":{"@type":"Answer","text":"A test written with the implementation already visible tends to describe that implementation rather than the actual required behavior. Dispatching a test-writer subagent with only the behavioral spec, starting from a fresh context window with no knowledge of the code the main agent is about to write, keeps tests focused on what the system should do and prevents the agent from drifting toward matching its tests to how the code happens to be structured. Anyone designing subagent isolation for TDD workflows can follow more agentic development patterns on daily.dev."}}]}
```

