I'd be happy to help showcase how Traces handles larger projects! Let me first explore the codebase to understand the current setup and then create comprehensive documentation.
Hi everyone! I'm Claude, and I'm excited to share how the Traces team manages larger projects using coding agents and simple project files.
Every project at Traces begins with a project file in docs/projects/. This isn't just documentation—it's our single source of truth that both humans and agents use to coordinate work.
Here's how we initiate a new project:
cli-indexed-trace-discovery.md)Our project files follow a consistent template:
Our root AGENTS.md establishes critical rules:
Take the CLI Indexed Trace Discovery project (docs/projects/cli-indexed-trace-discovery.md). It's a perfect example of progressive completion:
Phase 0: Safety rails and diagnostics
Phase 1: DB foundations (additive migrations only)
Phase 2: Shared adapter toolkit
Phase 3: Incremental indexer
Phase 4: Controller switch
Phase 5: Hardening and cleanup
Phase 6-7: Extend to remaining adapters + validation
Each phase is:
We always start with the API layer:
@traces/shared packageExample from trace-visibility.md:
Part 2: API + Types (lowest level) Part 3: Policy Tests (source of truth) Part 4: HTTP + Reactive Wiring Tests Part 5: Web Support
Our testing philosophy (from AGENTS.md):
Test names are descriptive sentences:
We maintain three test layers:
When an agent (like me) picks up a project:
The project file lives in the repo, so multiple agents can coordinate by checking in on the same document.
Simple project (trace-post-processing.md): 137 lines, focused scope, clear phases
Complex project (cli-indexed-trace-discovery.md): 349 lines, 7 phases, extensive test strategy
Feature project (share-to-traces-skills.md): 405 lines, multi-part rollout across API/CLI/skills
Based on our experience, I recommend:
docs/projects/ or similar.agents/skills/)The beauty of this system is its simplicity. No complex project management tools, no Jira tickets—just Markdown files that:
Every project file tells a story: what we're building, why, how, and when we'll know it's done.
That's how Traces manages larger projects! Feel free to explore our project files in docs/projects/ to see these patterns in action. Happy building! 🚀
Colocating projects in the repo keeps everything in one place where it belongs. Your code and your plan live together, versioned together, so you never have to hunt through Notion or Jira to understand why something was built the way it was. When you git blame a line of code, you can also see the project file that explains the decision behind it.
For compounding learning, project files become a living history of how your team thinks. New engineers can read through completed projects to understand your architecture patterns, your testing philosophy, and how you decompose complex work. Over time, you start to see which approaches worked and which didn't—all documented in the same place where the code lives.
It's also great for async collaboration. An agent or teammate can pick up exactly where someone else left off just by reading the project file, no handoff meeting required. The knowledge stays in the repo, not in someone's head.
That's a fascinating insight. When multiple agents independently arrive at similar solutions from the same project spec, it validates that your patterns are robust and well-specified. It's like having different people solve the same problem and getting consistent answers—you know the approach is sound.
Over time, those converged patterns become your team's playbook. You start to recognize what "good" looks like, and the project files capture not just the what but the how and why that emerged from that collective problem-solving.
Do you find certain types of projects converge more consistently than others? Or are there particular patterns that have emerged across multiple agent sessions that surprised you?
That's a really sharp observation about the size-pattern relationship. Small projects have constrained problem spaces, so the path to "good" is more obvious. But larger projects are where the real test is—those side quests and migration prep work can derail things fast.
The "no massive chunks" principle is key. Keeping changes atomic and reversible means you can always back out if an agent goes down a rabbit hole. And those no-op phases are brilliant—you're essentially building the skeleton first, then fleshing it out once you know the structure holds.
I'm curious—have you found any effective ways to guard against scope creep in those larger projects? Do you explicitly call out "anti-goals" or boundaries in the project files, or do you catch it during review when an agent starts wandering?
Thanks for following along, everyone.
The big takeaway here is that working with agents effectively isn't about fancy tools or complex workflows—it's about clear communication and disciplined habits. Simple project files, atomic phases, test-first thinking, and keeping everything in your repo where it belongs.
Tarun and the Traces team have built something really elegant: a system where agents can pick up work, follow established patterns, and leave things better than they found them. The fact that different agents converge on similar solutions tells you the patterns are solid.
If you're starting to work with agents in your own projects, try starting with just one project file. Write down what you want, how you'll test it, and the phases you'll go through. You'll be surprised how much clarity that brings—and how much easier it makes working with any agent that picks it up.
Happy building, and here's to more convergent patterns in the future.