"Didn't we already go over this?"
If you've said that to an AI assistant, you've hit the memory wall. Every chat session starts fresh. Your project context, coding conventions, architecture decisions — all gone.
Here's why that happens and a dead-simple fix that takes 5 minutes to set up.
Why AI Assistants Forget
It's not a bug. It's how the technology works.
Large language models don't store state between conversations. Each session gets a fresh context window — a fixed-size buffer of text the model can "see." When the session ends, that buffer is gone.
Some tools (ChatGPT, Claude) add memory features, but they're unreliable for technical work. They remember that you like Python, not that your API uses snake_case responses with ISO 8601 dates and pagination cursors.
For developer workflows, you need something explicit.
The Fix: Seed Files
A seed file is a short markdown document that you paste at the start of every AI session. It contains the minimum context the AI needs to be useful for your project.
# Seed File — Invoicer Pro
## Stack
TypeScript 5.3, Next.js 14 (app router), Prisma + PostgreSQL, Tailwind
## Patterns
- Server components default, "use client" only for interactivity
- Zod for all input validation
- Feature folders: app/(feature)/{page,components,lib}/
- API responses: { data: T, error: null } | { data: null, error: string }
## Current Work
Building PDF export for invoices. Using @react-pdf/renderer server-side.
## Rules
- No useEffect for data fetching
- All money as integers (cents), format on display only
- Tests: Vitest + React Testing Library
That's 15 lines. It tells the AI more about your project than 10 minutes of conversation would.
How Seed Files Work
The concept is borrowed from database seeding — giving a system the initial data it needs to function.
When you start a session:
Use this project context for all responses in this session:
[paste seed file]
Now help me with: [your actual question]
The AI now operates with your conventions baked in. It'll use Zod for validation without being told. It'll write server components by default. It'll format money as cents.
What Makes a Good Seed File
Keep it under 300 words. Every token in your seed file is a token not available for your actual work.
Include decisions, not descriptions. "We use Prisma" is less useful than "Prisma with explicit select (no implicit relation loading)."
Update it when decisions change. The seed file is wrong the moment it's stale. I update mine in the same commit as the architectural change.
Skip what's obvious. Don't tell the AI that JavaScript uses curly braces. Include only what's specific to your project.
Good Seed File Entries
- API errors return 4xx with { code: string, message: string }
- Feature flags via LaunchDarkly, check server-side only
- All dates UTC internally, convert to user timezone in components
Bad Seed File Entries
- We use React (obvious from the stack)
- Functions should be well-named (too vague to be useful)
- Follow best practices (means nothing)
Seed Files vs. System Prompts vs. RAG
| Approach | When to Use | Limitation |
|---|---|---|
| Seed file (manual paste) | Solo dev, quick sessions | Manual, can forget to paste |
| System prompt (API) | Automated workflows, scripts | Requires API access |
| RAG (retrieval) | Large codebases, many docs | Complex setup, can retrieve wrong context |
Seed files are the low-tech starting point. If you're copy-pasting into a chat UI, this is your tool. If you're calling the API, promote your seed file to a system prompt. If you have hundreds of files, graduate to RAG.
Start with seed files. Graduate when you need to.
One File Per Project
I keep a seed file in every project:
my-project/
├── SEED.md ← AI context
├── README.md ← Human context
├── package.json
└── src/
README.md tells humans about the project. SEED.md tells AI. They overlap, but they serve different audiences.
The 5-Minute Setup
- Create
SEED.mdin your project root - Write your stack (2-3 lines)
- Write your patterns (3-5 lines)
- Write your current focus (1-2 lines)
- Write your hard rules (2-3 lines)
Done. Next time you open an AI chat, paste it first. Notice how much less correcting you have to do.
Real Impact
Before seed files, I'd spend the first 3-5 messages correcting the AI:
- "No, we use app router, not pages"
- "Money should be in cents"
- "Don't use useEffect for that"
After seed files: the first response is usually usable. That's 5-10 minutes saved per session, every session, every day.
Over a month, that's hours. Over a project, it's the difference between AI being a tool and AI being a teammate.
Create your first seed file today. If you're not sure what to include, ask yourself: "What do I keep correcting the AI about?" That's your seed file.
Top comments (0)