SEASON 2 · EPISODE 2সিজন ২ · এপিসোড ২

CONTEXT ENGINEERING কনটেক্সট ইঞ্জিনিয়ারিং

WRITING THE RULEBOOKরুলবুক লেখা

HABIB · BACKEND ENGINEER, NOP-STATION "I keep telling Claude we use Repository pattern and snake_case for DB columns. Every. Single. Session. Why won't it just remember?" "আমি বারবার Claude-কে বলি যে আমরা Repository pattern এবং DB কলামে snake_case ব্যবহার করি। প্রতিটা সেশনে। কেন এটা মনে রাখে না?"
THE PAINসমস্যা

Starting From Zero — Every Timeপ্রতিবার শূন্য থেকে শুরু

HABIB'S SESSION · MONমৌনিতাের সেশন · সোম
"Use Repository pattern"
"snake_case for columns"
"Target .NET 8"
"Follow Clean Architecture"
"Write XML doc comments"
"Repository pattern ব্যবহার করো"
"কলামে snake_case"
".NET 8 টার্গেট করো"
"Clean Architecture মানো"
"XML doc কমেন্ট লিখো"
HABIB'S SESSION · TUEমৌনিতাের সেশন · মঙ্গল
"Use Repository pattern"
"snake_case for columns"
"Target .NET 8"
"Follow Clean Architecture"
"Write XML doc comments"
"Repository pattern ব্যবহার করো"
"কলামে snake_case"
".NET 8 টার্গেট করো"
"Clean Architecture মানো"
"XML doc কমেন্ট লিখো"
HABIB "On Wednesday Claude still used PascalCase column names. I wasted 40 minutes fixing a migration." "বুধবার Claude আবার PascalCase কলাম নাম ব্যবহার করল। ৪০ মিনিট নষ্ট হলো migration ঠিক করতে।"
Claude doesn't remember between sessions. Each session starts with an empty context window. You are the memory. Unless you write it down.Claude সেশনের মধ্যে মনে রাখে না। প্রতিটি সেশন খালি কনটেক্সট উইন্ডো দিয়ে শুরু। তুমিই মেমরি। যদি না লিখে রাখো।
THE CONCEPTধারণা

Context = What Claude Knows Before You Typeকনটেক্সট = তুমি টাইপ করার আগে Claude যা জানে

Think of it as the rulebook you hand an apprentice before they touch the codebase. ভাবো এটা সেই রুলবুক যা একজন শিক্ষানবিশকে কোডবেস স্পর্শ করার আগে দাও।
WITHOUT CONTEXTকনটেক্সট ছাড়া
Guesses conventions.
Uses popular defaults.
Contradicts your team norms.
Needs correcting every session.
কনভেনশন অনুমান করে।
জনপ্রিয় ডিফল্ট ব্যবহার করে।
টিমের নিয়ম লঙ্ঘন করে।
প্রতি সেশনে সংশোধন দরকার।
WITH CONTEXTকনটেক্সট সহ
Knows your stack instantly.
Follows your conventions.
Uses correct patterns by default.
Team stays consistent.
তোমার স্ট্যাক তাৎক্ষণিক জানে।
তোমার কনভেনশন মানে।
ডিফল্টেই সঠিক প্যাটার্ন ব্যবহার।
টিম সামঞ্জস্যপূর্ণ থাকে।
The apprentice analogy: a great apprentice follows the house rules — but only if someone wrote them down and handed them over on day one.শিক্ষানবিশের উপমা: একজন ভালো শিক্ষানবিশ ঘরের নিয়ম মানে — কিন্তু তখনই, যখন কেউ সেগুলো লিখে প্রথম দিনে দিয়েছে।
THE SOLUTIONসমাধান

Meet CLAUDE.mdCLAUDE.md পরিচয়

WHAT IT ISএটা কী
A Markdown file of project instructions. Lives at the repo root. Auto-loaded by Claude Code at the start of every session — no prompt needed. প্রোজেক্ট নির্দেশনার একটি Markdown ফাইল। রেপো রুটে থাকে। প্রতিটি সেশনে Claude Code স্বয়ংক্রিয়ভাবে লোড করে — কোনো প্রম্পট লাগে না।
WHY COMMIT ITকমিট করার কারণ
Checked into git so the whole team shares it. When Rafid adds a convention, Mouneeta and Ankan's sessions pick it up automatically after a pull. git-এ কমিট করা থাকে তাই পুরো টিম শেয়ার করে। Rafid কোনো কনভেনশন যোগ করলে, pull করার পরে Mouneeta ও Ankan-এর সেশন স্বয়ংক্রিয়ভাবে পায়।
AGENT · NEW SESSION "Loading CLAUDE.md… I see this is a nopCommerce plugin targeting .NET 8 with Repository pattern, snake_case columns, and Clean Architecture layers. Ready." "CLAUDE.md লোড হচ্ছে… দেখছি এটা একটি nopCommerce প্লাগইন, .NET 8 টার্গেট, Repository pattern, snake_case কলাম, এবং Clean Architecture লেয়ার। প্রস্তুত।"
THE HIERARCHYঅনুক্রম

Four Layers — Most Specific Winsচারটি স্তর — সবচেয়ে নির্দিষ্ট জেতে

Enterprise / Managedএন্টারপ্রাইজ / ম্যানেজড
org-level policy — locked by adminঅর্গ-লেভেল পলিসি — অ্যাডমিন লক
broadestবিস্তৃত
User — Personalব্যবহারকারী — ব্যক্তিগত
~/.claude/CLAUDE.md
personal prefsব্যক্তিগত পছন্দ
Project — Sharedপ্রোজেক্ট — শেয়ার্ড
./CLAUDE.md  (repo root)
team conventionsটিম কনভেনশন
Subdirectoryসাব-ডিরেক্টরি
./src/Payments/CLAUDE.md  (example)
most specific — overrides aboveসবচেয়ে নির্দিষ্ট — উপরেরটা ওভাররাইড
They stack — deeper files add to or override higher ones. Enterprise policy always wins over personal preferences. Subdir always wins over root.এগুলো স্তূপ হয় — গভীর ফাইলগুলো উপরেরগুলোকে যোগ বা ওভাররাইড করে। এন্টারপ্রাইজ পলিসি সবসময় ব্যক্তিগত পছন্দের উপর জেতে। Subdir সবসময় root-এর উপর জেতে।
WHAT TO WRITEকী লিখবে

The Four Sections That Matterচারটি গুরুত্বপূর্ণ বিভাগ

BUILD & TESTবিল্ড ও টেস্ট
How to build, run, and test. Exact commands. No guessing.বিল্ড, রান ও টেস্ট কমান্ড। হুবহু। অনুমানের দরকার নেই।
CONVENTIONSকনভেনশন
Naming, formatting, patterns. What you'd tell a new hire on day one.নামকরণ, ফরম্যাটিং, প্যাটার্ন। নতুন কাউকে প্রথম দিন কী বলতে।
ARCHITECTUREআর্কিটেকচার
Layer map. Where things live. Key entry points. Module boundaries.লেয়ার ম্যাপ। জিনিস কোথায় থাকে। মূল এন্ট্রি পয়েন্ট। মডিউল সীমা।
DO NOTকরবেন না
Hard guardrails. Never touch production DB. No jQuery. Never disable auth middleware.কঠোর গার্ডরেইল। প্রোডাকশন DB স্পর্শ নয়। jQuery নয়। auth middleware বন্ধ নয়।
## Commands
build:   dotnet build src/Nop.Plugin.Widgets.FeaturedBanner.sln
test:    dotnet test --no-build --verbosity normal
watch:   dotnet watch --project src/Nop.Plugin.Widgets.FeaturedBanner

## Conventions
- Repository pattern for all data access (IRepository<T>)
- snake_case for all database column names
- XML doc comments on all public methods
WHAT DOESN'T BELONGযা রাখা উচিত নয়

Keep CLAUDE.md LeanCLAUDE.md হালকা রাখো

  • 🔑
    Secrets and API keys. Never. They belong in .env files and secret managers — not in a committed Markdown file.সিক্রেট ও API কি। কখনো না। সেগুলো .env ফাইল ও সিক্রেট ম্যানেজারে — কমিট করা Markdown ফাইলে নয়।
  • 📂
    Giant file dumps. Don't paste 500 lines of schema. Link to the schema file instead: See: src/Data/schema.sqlবিশাল ফাইল পেস্ট। ৫০০ লাইনের স্কিমা পেস্ট করবেন না। বরং লিঙ্ক করুন: See: src/Data/schema.sql
  • 🎯
    Per-task instructions. "Today we're building the banner widget" belongs in the prompt, not in the shared rulebook.প্রতি-টাস্কের নির্দেশনা। "আজ আমরা banner widget বানাচ্ছি" — এটা প্রম্পটে যাবে, শেয়ার্ড রুলবুকে নয়।
  • 📝
    Anything that changes per-run. Feature flags, ticket numbers, environment URLs, current sprint goals — these are dynamic, not structural.প্রতি-রানে পরিবর্তিত জিনিস। ফিচার ফ্ল্যাগ, টিকেট নম্বর, পরিবেশ URL, বর্তমান স্প্রিন্ট লক্ষ্য — এগুলো গতিশীল, কাঠামোগত নয়।
Rule of thumb: if it's true today AND will still be true six months from now, it belongs in CLAUDE.md. Otherwise, put it in the prompt.থাম্বের নিয়ম: আজ সত্য এবং ছয় মাস পরেও সত্য থাকবে — তাহলে CLAUDE.md-এ। নইলে প্রম্পটে।
TWO SYSTEMSদুটি সিস্টেম

Memory vs CLAUDE.mdমেমরি বনাম CLAUDE.md

Claude MemoryClaude মেমরি
Persistent facts Claude saves across sessions automatically. Three types:
• User — your personal preferences
• Project — project-specific facts Claude learned
• Feedback — corrections you gave it

Managed by Claude. Not in git. Personal to you.
Claude স্বয়ংক্রিয়ভাবে সেশন জুড়ে সংরক্ষিত তথ্য। তিন ধরন:
• ব্যবহারকারী — তোমার ব্যক্তিগত পছন্দ
• প্রোজেক্ট — Claude শেখা প্রোজেক্ট তথ্য
• ফিডব্যাক — তুমি যে সংশোধন দিয়েছ

Claude পরিচালিত। git-এ নেই। তোমার ব্যক্তিগত।
CLAUDE.mdCLAUDE.md
A committed Markdown file you write and own. Shared team rulebook.

• You write it — explicit, intentional
• Committed to git — whole team shares it
• Reviewed in PRs — evolves with the codebase

You control it completely. Transparent to everyone.
তুমি লেখা একটি কমিটেড Markdown ফাইল। শেয়ার্ড টিম রুলবুক।

• তুমি লিখো — সুস্পষ্ট, ইচ্ছাকৃত
• git-এ কমিটেড — পুরো টিম শেয়ার করে
• PR-এ রিভিউ — কোডবেসের সাথে বিবর্তিত

তুমি সম্পূর্ণ নিয়ন্ত্রণ করো। সবার কাছে স্বচ্ছ।
Use both togetherদুটো একসাথে ব্যবহার করো
Memory is Claude's private notepad. CLAUDE.md is the team's shared contract. They complement each other — memory for personal shortcuts, CLAUDE.md for team standards that everyone agrees on. মেমরি হলো Claude-এর প্রাইভেট নোটপ্যাড। CLAUDE.md হলো টিমের শেয়ার্ড চুক্তি। এরা পরস্পরের পরিপূরক — ব্যক্তিগত শর্টকাটের জন্য মেমরি, সবাই একমত টিম স্ট্যান্ডার্ডের জন্য CLAUDE.md।
PROJECT vs PERSONALপ্রোজেক্ট বনাম ব্যক্তিগত

Shared Team Rules vs Personal Styleশেয়ার্ড টিম নিয়ম বনাম ব্যক্তিগত স্টাইল

PROJECT · ./CLAUDE.mdপ্রোজেক্ট · ./CLAUDE.md
✓ Build & test commands
✓ Architectural decisions
✓ Team coding conventions
✓ "DO NOT" rules the whole team agreed on
✓ Module structure overview

Rafid, Mouneeta, Ankan all read the same file.
✓ বিল্ড ও টেস্ট কমান্ড
✓ আর্কিটেকচারাল সিদ্ধান্ত
✓ টিম কোডিং কনভেনশন
✓ পুরো টিম একমত "করবেন না" নিয়ম
✓ মডিউল স্ট্রাকচার সারসংক্ষেপ

Rafid, Mouneeta, Ankan সবাই একই ফাইল পড়ে।
USER · ~/.claude/CLAUDE.mdব্যবহারকারী · ~/.claude/CLAUDE.md
✓ Preferred response language
✓ Personal formatting style
✓ "Always explain diffs before applying"
✓ Personal shortcuts and aliases
✓ Cross-project defaults

Applies to all your sessions, every project.
✓ পছন্দের উত্তরের ভাষা
✓ ব্যক্তিগত ফরম্যাটিং স্টাইল
✓ "প্রয়োগের আগে সবসময় diff ব্যাখ্যা করো"
✓ ব্যক্তিগত শর্টকাট ও এলিয়াস
✓ ক্রস-প্রোজেক্ট ডিফল্ট

তোমার সব সেশনে, প্রতিটি প্রোজেক্টে প্রযোজ্য।
HABIB "I put 'always respond in short paragraphs' in my ~/.claude/CLAUDE.md. That's mine. The Repository pattern rule lives in the repo's CLAUDE.md — it's everyone's." "আমি 'সবসময় সংক্ষিপ্ত প্যারায় উত্তর দাও' আমার ~/.claude/CLAUDE.md-এ রেখেছি। সেটা আমার। Repository pattern নিয়ম রেপোর CLAUDE.md-এ থাকে — সেটা সবার।"
TOKEN ECONOMICSটোকেন অর্থনীতি

Every Session Pays the CLAUDE.md Taxপ্রতিটি সেশন CLAUDE.md কর দেয়

CLAUDE.md is loaded into the context window of every single session. Every token in it is billed every time. CLAUDE.md প্রতিটি সেশনের কনটেক্সট উইন্ডোতে লোড হয়। এর প্রতিটি টোকেন প্রতিবার বিল হয়।
DO THISএটা করো
Keep it under ~100 lines. Link to files for detail: See architecture diagram: docs/arch.md
One crisp sentence per convention beats a paragraph every time.
~১০০ লাইনের মধ্যে রাখো। বিস্তারিতের জন্য ফাইল লিঙ্ক করো: See architecture diagram: docs/arch.md
কনভেনশনের জন্য একটি স্পষ্ট বাক্য একটি প্যারার চেয়ে সবসময় ভালো।
NOT THISএটা নয়
A 1,200-line CLAUDE.md that inlines the full database schema, every entity doc, and lengthy explanations of every architectural decision made since 2019. ১,২০০ লাইনের CLAUDE.md যেখানে পুরো ডেটাবেস স্কিমা, প্রতিটি এন্টিটি ডক, এবং ২০১৯ সাল থেকে নেওয়া প্রতিটি আর্কিটেকচারাল সিদ্ধান্তের দীর্ঘ ব্যাখ্যা আছে।
A 50-line CLAUDE.md loaded 100 times costs fewer tokens than a 500-line one loaded 100 times. And shorter files are read more carefully anyway.৫০ লাইনের CLAUDE.md ১০০ বার লোড করলে ৫০০ লাইনের চেয়ে কম টোকেন খরচ হয়। আর ছোট ফাইল আরও মনোযোগ দিয়ে পড়া হয়।
LIVE BUILD · PART 1লাইভ বিল্ড · পর্ব ১

Authoring a CLAUDE.md — Stack & CommandsCLAUDE.md লেখা — স্ট্যাক ও কমান্ড

RIFAT · SENIOR ENGINEER "Let's write the CLAUDE.md for our new nopCommerce loyalty plugin from scratch. Start with what the project is and how to build it." "চলো আমাদের নতুন nopCommerce loyalty প্লাগইনের CLAUDE.md স্ক্র্যাচ থেকে লিখি। প্রোজেক্টটা কী এবং কীভাবে বিল্ড করতে হয় তা দিয়ে শুরু করি।"
# nop-station Loyalty Plugin — CLAUDE.md

## Stack
- .NET 8 · nopCommerce 4.70 plugin
- C# 12 · Entity Framework Core (Code First)
- Razor views (.cshtml) · Bootstrap 5 for admin UI
- SQL Server (dev) / PostgreSQL (prod)
- xUnit for tests

## Commands
build:   dotnet build Nop.Plugin.Misc.Loyalty.sln
test:    dotnet test --no-build --verbosity normal
migrate: dotnet ef migrations add <Name> -p src/Data -s src/Web
watch:   dotnet watch --project src/Web -- run
# Always run tests before opening a PR
LIVE BUILD · PART 2লাইভ বিল্ড · পর্ব ২

Conventions, Architecture & DO NOTকনভেনশন, আর্কিটেকচার ও করবেন না

## Conventions
- Repository pattern for all data access (IRepository<T> from Nop.Core)
- snake_case for ALL database column names (EF column attribute required)
- XML doc comments on every public method and class
- No raw SQL — use LINQ on IQueryable<T>
- Services go in src/Services, controllers in src/Controllers (plugin MVC)

## Architecture
src/
  Core/       — domain models, IRepository contracts, service interfaces
  Data/       — EF mappings, migrations, repository implementations
  Services/   — business logic (stateless, injected via DI)
  Controllers/ — thin; delegates everything to Services
  Views/      — Razor; no business logic in .cshtml
See full diagram: docs/architecture.md

## DO NOT
- Never query the production connection string directly
- Never add jQuery — nopCommerce uses vanilla JS + Ajax helpers
- Never disable or bypass nopCommerce permission checks
- Never commit appsettings.json with real credentials
GOTCHASফাঁদ

Three Ways Teams Get This Wrongটিমগুলো যে তিন উপায়ে ভুল করে

🕸️
Stale Instructionsপুরনো নির্দেশনা
You migrated from EF 6 to EF Core six months ago but CLAUDE.md still says "use ObjectContext." Claude follows it — confidently — and creates the wrong migration. Treat CLAUDE.md like code: review it when the architecture changes.ছয় মাস আগে EF 6 থেকে EF Core-এ মাইগ্রেট করেছ কিন্তু CLAUDE.md এখনও বলে "ObjectContext ব্যবহার করো।" Claude আত্মবিশ্বাসের সাথে মানে — এবং ভুল migration তৈরি করে। CLAUDE.md-কে কোডের মতো দেখাও: আর্কিটেকচার পরিবর্তন হলে রিভিউ করো।
⚔️
Contradictory Rulesপরস্পরবিরোধী নিয়ম
"Use async everywhere" in ## Conventions and "never make service methods async" in ## DO NOT. Claude picks one arbitrarily and is half-wrong either way. Audit for conflicts before committing.## Conventions-এ "সর্বত্র async ব্যবহার করো" এবং ## DO NOT-এ "service method কখনো async করবেন না।" Claude যেকোনো একটি বেছে নেয় এবং যেভাবেই হোক অর্ধেক ভুল। কমিটের আগে দ্বন্দ্ব পরীক্ষা করো।
🤯
Over-Stuffingঅতিরিক্ত ভরা
Adding every edge-case decision, every historical context note, every "we tried this once and it failed" anecdote. A 1,200-line CLAUDE.md buries the critical rules under noise. Claude weights all tokens equally — your most important rule competes with trivia.প্রতিটি এজ-কেস সিদ্ধান্ত, প্রতিটি ঐতিহাসিক প্রসঙ্গ, প্রতিটি "একবার চেষ্টা করেছিলাম এবং ব্যর্থ হয়েছিলাম" গল্প যোগ করা। ১,২০০ লাইনের CLAUDE.md শব্দের নিচে গুরুত্বপূর্ণ নিয়ম চাপা দেয়। Claude সব টোকেন সমানভাবে ওজন দেয় — তোমার সবচেয়ে গুরুত্বপূর্ণ নিয়ম তুচ্ছ জিনিসের সাথে প্রতিযোগিতা করে।
🔒
Forgetting to Commit Itকমিট করতে ভুলে যাওয়া
Mouneeta writes a great CLAUDE.md but never runs git add CLAUDE.md. Rafid's sessions have no context. The team loses the shared rulebook advantage entirely. Add CLAUDE.md to your repo init checklist.Mouneeta দুর্দান্ত CLAUDE.md লেখে কিন্তু কখনো git add CLAUDE.md রান করে না। Rafid-এর সেশনে কোনো কনটেক্সট নেই। টিম শেয়ার্ড রুলবুকের সুবিধা সম্পূর্ণ হারায়। রেপো init চেকলিস্টে CLAUDE.md যোগ করো।
ADVANCED TIPউন্নত টিপ

When Claude Doesn't Follow the RulesClaude নিয়ম না মানলে

SHAZZAD · ENGINEER "I have 'snake_case columns' in CLAUDE.md but Claude keeps using PascalCase in new migrations. What's going on?" "আমার CLAUDE.md-এ 'snake_case কলাম' আছে কিন্তু Claude নতুন migration-এ PascalCase ব্যবহার করতে থাকে। কী হচ্ছে?"
DIAGNOSE FIRSTআগে নির্ণয় করো
Run /status in Claude Code to confirm CLAUDE.md loaded. Check for a conflicting user-level instruction. Verify the file is committed — not just saved.CLAUDE.md লোড হয়েছে কিনা নিশ্চিত করতে Claude Code-এ /status রান করো। কোনো বিরোধী ব্যবহারকারী-স্তরের নির্দেশনা আছে কিনা চেক করো। ফাইলটি কমিটেড কিনা যাচাই করো — শুধু সেভ করা নয়।
FIX ITঠিক করো
Make the rule more explicit: don't say "snake_case" — say "ALL database column names MUST use snake_case enforced via [Column("column_name")] attribute." Specificity wins.নিয়মটি আরও স্পষ্ট করো: "snake_case" বলো না — বলো "সমস্ত ডেটাবেস কলাম নাম অবশ্যই [Column("column_name")] attribute-এর মাধ্যমে snake_case ব্যবহার করতে হবে।" নির্দিষ্টতা জেতে।
Vague rules lose to Claude's training data. Be more specific than you think is necessary — Claude will match the specificity level you provide.অস্পষ্ট নিয়ম Claude-এর ট্রেনিং ডেটার কাছে হারে। তুমি যতটা প্রয়োজন মনে করো তার চেয়ে বেশি নির্দিষ্ট হও — Claude তোমার দেওয়া নির্দিষ্টতার স্তরে মিলাবে।
PRO MOVEপ্রো কৌশল

Subdirectory CLAUDE.md — Scoped Rulesসাব-ডিরেক্টরি CLAUDE.md — স্কোপড নিয়ম

When one module has fundamentally different conventions — use a subdirectory CLAUDE.md to override just the rules that differ, without polluting the root.যখন একটি মডিউলের মৌলিকভাবে ভিন্ন কনভেনশন থাকে — সাব-ডিরেক্টরি CLAUDE.md ব্যবহার করো শুধু ভিন্ন নিয়মগুলো ওভাররাইড করতে, root দূষিত না করে।
./CLAUDE.md
team defaultsটিম ডিফল্ট
+
./src/Payments/
CLAUDE.md

overridesওভাররাইড
=
Final context
Claude sees in
Payments module
Payments module-এ
Claude যে চূড়ান্ত
কনটেক্সট দেখে
# src/Payments/CLAUDE.md — overrides root for this module only

## Payments Module — Additional Rules
- All payment amounts stored as DECIMAL(18,4) — never float or double
- Every payment service method must log to IAuditLogger (PCI requirement)
- Card data NEVER stored — redirect to Stripe; never log card numbers
# Root CLAUDE.md conventions still apply — these add/override only
Rafid used this to give the Payments module PCI-specific guardrails without making those rules apply to the rest of the codebase.Rafid এটা ব্যবহার করেছে Payments মডিউলে PCI-নির্দিষ্ট গার্ডরেইল দিতে, বাকি কোডবেসে সেই নিয়ম প্রয়োগ না করেই।
TEAM WORKFLOWটিম ওয়ার্কফ্লো

CLAUDE.md as a Living DocumentCLAUDE.md একটি জীবন্ত দলিল হিসেবে

DAY ONEপ্রথম দিন
Rafid creates CLAUDE.md at repo init. Stack + Commands + bare conventions. Commits and announces in standup.Rafid রেপো init-এ CLAUDE.md তৈরি করে। স্ট্যাক + কমান্ড + মূল কনভেনশন। কমিট করে এবং standup-এ জানায়।
AS YOU WORKকাজ করতে করতে
When Claude gets a convention wrong and you correct it in a PR, update CLAUDE.md in the same PR. Convention changes are code changes.Claude কনভেনশন ভুল করলে এবং তুমি PR-এ ঠিক করলে, একই PR-এ CLAUDE.md আপডেট করো। কনভেনশন পরিবর্তন কোড পরিবর্তন।
QUARTERLYপ্রতি তিন মাসে
Review CLAUDE.md as a team. Remove stale rules. Promote common prompts to permanent conventions. Keep it tight.টিম হিসেবে CLAUDE.md রিভিউ করো। পুরনো নিয়ম সরাও। সাধারণ প্রম্পট স্থায়ী কনভেনশনে উন্নীত করো। টাইট রাখো।
RIFAT "We made a rule: if you find yourself typing the same instruction to Claude three sessions in a row, that instruction goes into CLAUDE.md in the next PR." "আমরা একটা নিয়ম করেছি: তিনটি সেশনে একই নির্দেশনা টাইপ করতে দেখলে, পরের PR-এ সেই নির্দেশনা CLAUDE.md-এ যাবে।"
WRAP UPসারসংক্ষেপ

Writing the Rulebookরুলবুক লেখা

CLAUDE.mdCLAUDE.md HIERARCHYঅনুক্রম MEMORYমেমরি KEEP IT LEANহালকা রাখো COMMIT ITকমিট করো
Context engineering is not a one-time setup. It's a team habit — write it, commit it, review it, keep it tight.কনটেক্সট ইঞ্জিনিয়ারিং এক-বারের সেটআপ নয়। এটি একটি টিম অভ্যাস — লিখো, কমিট করো, রিভিউ করো, টাইট রাখো।
KEY TAKEAWAYSমূল শিক্ষা
1. CLAUDE.md auto-loads every session — no prompt needed
2. Four levels: Enterprise → User → Project → Subdirectory
3. Memory ≠ CLAUDE.md — they serve different purposes
4. Token tax: every line costs on every run — stay lean
5. Commit it to git — or the team can't benefit from it
১. CLAUDE.md প্রতিটি সেশনে স্বয়ংক্রিয়ভাবে লোড — কোনো প্রম্পট দরকার নেই
২. চারটি স্তর: এন্টারপ্রাইজ → ব্যবহারকারী → প্রোজেক্ট → সাব-ডিরেক্টরি
৩. মেমরি ≠ CLAUDE.md — এরা ভিন্ন উদ্দেশ্যে কাজ করে
৪. টোকেন কর: প্রতিটি লাইন প্রতিটি রানে খরচ হয় — হালকা রাখো
৫. git-এ কমিট করো — নইলে টিম উপকৃত হবে না
Next → Episode 3: Building a Skill — The First Lesson.
Rafid turns a repeated workflow into a one-word slash command the whole team shares.
পরবর্তী → এপিসোড ৩: স্কিল তৈরি — প্রথম পাঠ।
Rafid একটি বারবার ব্যবহৃত ওয়ার্কফ্লোকে একটি এক-শব্দের slash কমান্ডে পরিণত করে যা পুরো টিম শেয়ার করে।
← → to navigate · space to advance