Claude Code একই সঙ্গে একাধিক স্থান থেকে প্রকল্পের নির্দেশনা লোড করতে পারে। দুই গ্রাহক প্রকল্প দেখভাল করলে প্রতিটি ডিরেক্টরিতে নতুন সেশন খুলে কোন ফাইল সত্যিই কোন প্রসঙ্গে ঢুকেছে দেখা যায়। উপকারী ফল হলো নথিভুক্ত দুটি ফাইল তালিকা, পাশাপাশি ফোল্ডার গ্রাহকের তথ্য আলাদা করে রাখে এমন অনুমান নয়।

বড় পরিবর্তন

কী বদলেছে: এই নির্দেশিকা Claude Code-এর নথিভুক্ত নির্দেশনার ক্রমকে দুটি বিদ্যমান অনুমোদিত প্রকল্প ডিরেক্টরিতে পুনরাবৃত্ত তুলনায় রূপ দেয়। শুরুতে লোড ফাইল লিখবেন, তারপর অনুমতিপ্রাপ্ত পাঠের পর ভেতরের নির্দেশনা ফাইল দেখা যায় কি না দেখবেন।

কেন গুরুত্বপূর্ণ: একই ওপরের ডিরেক্টরি, ব্যক্তিগত নির্দেশনা, ইমপোর্ট, নিয়ম বা সেটিং দুই প্রকল্পকেই প্রভাবিত করতে পারে। /context চলমান সেশনে কোন মেমোরি ফাইল আছে দেখায়, ফলে গ্রাহকের কাজ শুরুর আগে অপ্রত্যাশিত পাথ দেখা যায়।

কী খেয়াল রাখবেন: লোড নির্দেশনা Claude-এর ফাইল ব্যবহারের সীমা ঠিক করে না বা সব নির্দেশ মানার নিশ্চয়তা দেয় না। গ্রাহকের বিষয়বস্তু নির্বাচিত প্রদানকারীকে পাঠানোর আগে আসল অ্যাকাউন্ট, অনুমতি, ইমপোর্ট, hook ও ডেটা ব্যবহারের শর্ত দেখুন।

যা দরকার

এই পদ্ধতি এমন ডেভেলপারের জন্য যিনি দুটি বিদ্যমান গ্রাহক রিপোজিটরি ও তাদের Claude Code কনফিগারেশন দেখতে অনুমোদিত। যে নির্দিষ্ট বিষয়বস্তু ব্যবহার করবেন তা নির্বাচিত Claude অ্যাকাউন্ট বা প্রদানকারীকে পাঠানোর আলাদা অনুমতি নিন। শুধু স্থানীয় ফাইল বদলানোর অনুমতি এই সিদ্ধান্ত দেয় না। টার্মিনাল, ইনস্টল Claude Code, উপযুক্ত অ্যাকাউন্ট বা প্রদানকারী এবং একটি প্রকল্পের ভেতরের ডিরেক্টরিতে বিদ্যমান অসংবেদনশীল ফাইল লাগবে। নিজের পথ অনুযায়ী Anthropic-এর সেটআপ, খরচ ও ডেটা ব্যবহার নথি দেখুন।

নিচের গঠন শনাক্ত করার পাথ দেখায়, নতুন গ্রাহক প্রকল্প বানাতে বলে না। প্রতিটি উদাহরণ পাথ আসল অনুমোদিত পাথে বদলান। ওপরের ডিরেক্টরির CLAUDE.md ঐচ্ছিক; এতে দুই প্রকল্পের জন্য অনুমোদিত নির্দেশনাই থাকা উচিত। ভেতরের ফাইল ও নিরীহ নথি আগে থেকেই নির্বাচিত অ্যাকাউন্টের ডেটা ব্যবহারের পথে গ্রহণযোগ্য হতে হবে।

Text
AUTHORIZED_PARENT/
  CLAUDE.md                 optional shared instructions
  project-A/
    CLAUDE.md               A's project instructions
  project-B/
    CLAUDE.md               B's project instructions
    subdir/
      CLAUDE.md             B's nested instructions
      README.md             authorized, nonsensitive read target

১. দুই প্রকল্পের পাথ নির্ধারণ করুন

ব্যবহার করুন যেকোনো একটি: PowerShell বা Bash। চলকগুলোতে আসল ডিরেক্টরি দিন। পরীক্ষা বিদ্যমান পাথ চায়, পাওয়া পাথের লেখা তুলনা করে এবং B-এর পাঠের লক্ষ্য আছে নিশ্চিত করে। PowerShell-এর Resolve-Path symlink বা junction-এর বিকল্প নাম রেখে দিতে পারে; আলাদা লেখা থেকেই আলাদা বাস্তব প্রকল্প প্রমাণ হয় না। দুই শুরুর পাথ ও ওপরের ডিরেক্টরির লিংক এবং junction দেখুন, লক্ষ্য অনুসরণ করুন এবং চালিয়ে যাওয়ার আগে A, B সত্যিই আলাদা কি না নিশ্চিত করুন। পাথ, লক্ষ্য পরীক্ষা ও পরের প্রসঙ্গ তালিকা ব্যক্তিগত কাজের নথিতে রাখুন।

PowerShell
$a = (Resolve-Path -LiteralPath 'C:\actual\authorized\project-A' -ErrorAction Stop).Path
$b = (Resolve-Path -LiteralPath 'C:\actual\authorized\project-B' -ErrorAction Stop).Path
if (-not (Test-Path -LiteralPath $a -PathType Container)) { throw 'A must be an existing directory' }
if (-not (Test-Path -LiteralPath $b -PathType Container)) { throw 'B must be an existing directory' }
if ($a -eq $b) { throw 'A and B must be different directories' }
$target = Join-Path $b 'subdir/README.md'
if (-not (Test-Path -LiteralPath $target -PathType Leaf)) { throw 'Choose an existing authorized nonsensitive file in B/subdir' }
$a
$b
$target
Terminal
a=$(realpath -- /actual/authorized/project-A) || exit 1
b=$(realpath -- /actual/authorized/project-B) || exit 1
test -d "$a" || { printf '%s\n' 'A must be an existing directory' >&2; exit 1; }
test -d "$b" || { printf '%s\n' 'B must be an existing directory' >&2; exit 1; }
test "$a" != "$b" || { printf '%s\n' 'A and B must be different directories' >&2; exit 1; }
target="$b/subdir/README.md"
test -f "$target" || { printf '%s\n' 'Choose an existing authorized nonsensitive file in B/subdir' >&2; exit 1; }
printf '%s\n' "$a" "$b" "$target"

প্রকল্প দুটি একই স্তরের না হলে তাদের আসল ওপরের ডিরেক্টরি-শৃঙ্খল আলাদা লিখুন। ছবি দেখে একই মূল ধরে নেবেন না।

২. প্রকল্প খোলার আগে সম্ভাব্য উৎস যাচাই করুন

নির্ধারিত প্রতিটি শুরুর ডিরেক্টরিতে CLAUDE.md, .claude/CLAUDE.md, CLAUDE.local.md, AGENTS.md ও .claude/AGENTS.md দেখুন; ফাইলসিস্টেমের মূল পর্যন্ত সব ওপরের ডিরেক্টরিতেও দেখুন। অপারেটিং সিস্টেমের পরিচালিত নির্দেশনা, ~/.claude/CLAUDE.md, ব্যবহারকারীর নিয়ম ও প্রকল্পের .claude/rules/ ফাইল দেখুন। মেমোরি ম্যানুয়াল বলে পাওয়া CLAUDE.md ফাইল একসঙ্গে জোড়া হয়; কাছের ফাইল ওপরেরটির লেখা মুছে দেয় না। ভেতরের CLAUDE.md সাধারণত Claude সেই ডিরেক্টরির অন্য ফাইল পড়া, লেখা বা বদলানোর পরে লোড হয়। পাথ-নির্দিষ্ট নিয়ম মিলে যাওয়া ফাইল ব্যবহারে লোড হতে পারে।

এই কমান্ড শুধু পাথ দেখিয়ে ওপরের ডিরেক্টরির তালিকা দেয়, বিষয়বস্তু নয়। সংশ্লিষ্ট মালিকের অনুমতিতে পাওয়া ফাইল দেখুন। দুই চলকে পুনরাবৃত্তি করুন; Bash লুপ নিজে থেকেই দুটো ধরে।

PowerShell
foreach ($start in @($a, $b)) {
  $dir = [System.IO.DirectoryInfo]::new($start)
  while ($null -ne $dir) {
    Get-Item -LiteralPath $dir.FullName -Force | Select-Object FullName,LinkType,Target
    foreach ($name in @('CLAUDE.md', 'CLAUDE.local.md', 'AGENTS.md', '.claude/CLAUDE.md', '.claude/AGENTS.md')) {
      $candidate = Join-Path $dir.FullName $name
      if (Test-Path -LiteralPath $candidate -PathType Leaf) { $candidate }
    }
    $dir = $dir.Parent
  }
}
Terminal
for start in "$a" "$b"; do
  dir=$start
  while :; do
    for name in CLAUDE.md CLAUDE.local.md AGENTS.md .claude/CLAUDE.md .claude/AGENTS.md; do
      test -f "$dir/$name" && printf '%s\n' "$dir/$name"
    done
    test "$dir" = / && break
    dir=$(dirname -- "$dir")
  done
done

আসল নির্দেশনা ফাইল ও তাদের @path ইমপোর্ট পড়ুন; আপেক্ষিক ইমপোর্ট যে ফাইলে আছে সেখান থেকে নির্ধারিত হয়। প্রতিটি PowerShell শুরুর পাথ ও ওপরের শৃঙ্খলের symlink বা junction অনুসরণ করুন, তারপর সেশনকে প্রভাবিত করতে পারে এমন নামযুক্ত ও লক্ষ্য উভয় গঠন দেখুন। নির্দেশনা ফাইলের symlink লক্ষ্য ও claudeMdExcludes প্যাটার্ন দেখুন। পরীক্ষা করুন .claude/settings.json, .claude/settings.local.json, ব্যবহারকারী ও পরিচালিত সেটিং, কোনো --settings বা --setting-sources শুরুর বিকল্প, সেট করা hook ও প্রতিটি প্রকল্পের বিশ্বাস অবস্থা। CLAUDE_CONFIG_DIR ব্যবহারকারীর কনফিগারেশন ফোল্ডার বদলাতে পারে, তাই ~/.claude ধরে নেওয়ার আগে দেখুন। workspace trust গ্রহণের আগে hook কোন কমান্ড চালাতে পারে দেখুন। কাজের ডিরেক্টরির বাইরে ইমপোর্ট অনুমোদন চাইতে পারে; প্রত্যাখ্যাত হলে প্রত্যাশামতো দেখাবে না। সেটিং ম্যানুয়াল বলে কোন স্তর প্রতিটি সেটিং দেয় এবং কোন প্রকল্পের সেটিং বিশ্বাসের অপেক্ষায় থাকে।

পরীক্ষা করুন Project instructions বিকল্পটি /config বা তার ব্যবহারকারী/পরিচালিত plugin সেটিংয়ে। বর্তমান নথি AGENTS.md কে শর্তাধীন বিকল্প বলে, যখন প্রকল্প বা ওপরের কোনো যোগ্য CLAUDE.md বা CLAUDE.local.md নেই; claude-md-and-agents-md দুটোই লোড করে। সরাসরি AGENTS.md সমর্থন সংস্করণ ও সক্রিয় plugin-এর ওপর নির্ভর করে। পুরোনো সংস্করণ ও কিছু সেটিং এটি বাদ দিতে পারত; BIG CHANGE-এর AGENTS.md ফিচার-ফ্ল্যাগ প্রতিবেদন এমন সংস্করণ-নির্দিষ্ট সমস্যা দেখায়। সব সময় লোড হয় ধরে না নিয়ে আসল সংস্করণ, সেটিং ও /context ফল ব্যবহার করুন।

আলাদা লিখুন --add-dir আর্গুমেন্ট এবং CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD । --add-dir ফাইল ব্যবহারের পরিসর বাড়ায়; স্বাভাবিকভাবে অতিরিক্ত ডিরেক্টরির CLAUDE.md লোড করে না। পরিবেশ সুইচ সেই নির্দেশনা লোড করে। /memory দিয়ে স্বয়ংক্রিয় মেমোরিকে আলাদা মাধ্যম হিসেবে দেখুন: একই রিপোজিটরির worktree ও সাবডিরেক্টরি তা ভাগ করতে পারে, স্থানও বদলানো যায়। তুলনার ব্যাখ্যার আগে আসল স্থান ও বিষয়বস্তু দেখুন। নমুনা নির্দেশনা বা প্রকাশ্য নথিতে কখনো ক্রেডেনশিয়াল বা অপ্রকাশিত গ্রাহক তথ্য রাখবেন না।

শুরুর আগে একই shell-এ পরিবেশের এই মান দেখুন। Bash-এর ফাঁকা মান অনুপস্থিত বা খালি বোঝায়; PowerShell শুধু থাকা চলক দেখায়। সেটিংস ফাইলে মান নেই তা এতে প্রমাণ হয় না, তাই প্রতিটি সেশনে সক্রিয় সেটিং নিশ্চিত করুন।

PowerShell
Get-Item Env:CLAUDE_CONFIG_DIR,Env:CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD -ErrorAction SilentlyContinue | Select-Object Name,Value
Terminal
printf 'CLAUDE_CONFIG_DIR=%s\n' "${CLAUDE_CONFIG_DIR-}"
printf 'CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=%s\n' "${CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD-}"

৩. প্রকল্প A-তে নতুন সেশন শুরু করুন

নথিভুক্ত করুন claude --version ও সঠিক শুরুর কমান্ড। A থেকে নতুন প্রসেস খুলুন, ছাড়া --resume বা --continue। সেটিং ও hook যাচাইয়ের পরেই বিশ্বাস গ্রহণ করুন। /context চালানোর পরেই Claude-কে B বা ভেতরের ফাইল খুলতে বলুন। মেমোরি ফাইল ও নিয়মের সঠিক পাথ লিখুন; তালিকা দিয়ে উপস্থিতি দেখুন, ঢোকার ক্রম নয়। /memory দিয়ে দেখানো ব্যক্তিগত, প্রকল্প ও স্বয়ংক্রিয় মেমোরি এবং স্থান দেখুন। তারপর সেশন থেকে বের হন।

PowerShell
claude --version
Set-Location -LiteralPath $a -ErrorAction Stop
claude
Terminal
claude --version
cd -- "$a" && claude

Claude Code-এ /status সক্রিয় সেটিং উৎস চেনে, আর /permissions বর্তমান টুলের নিয়ম ও উৎস দেখায়। নির্দেশনা তালিকার সঙ্গে লিখুন:

Text
/context
/memory
/status
/permissions
/exit

পরীক্ষিত সেটিং ও বাদ দেওয়া অনুযায়ী A ও একই ওপরের নির্দেশনা আসা উচিত। B-নির্দিষ্ট ফাইল A-এর শুরুর গঠনে থাকা উচিত নয়। ইমপোর্ট, লিংক, অতিরিক্ত ডিরেক্টরি বা অন্য পথে এলে সেই মাধ্যম লিখুন। না থাকা B-এর ফাইলে পৌঁছানো অসম্ভব প্রমাণ করে না।

৪. B-তে আলাদা সেশন শুরু করে ভেতরের ফাইল পড়ুন

B-তে নতুন Claude Code প্রসেস একই সংস্করণ ও অ্যাকাউন্ট/প্রদানকারীর পথে ব্যবহার করুন। ভেতরের কোনো পাঠের আগে /context ও /memory লিখুন। শুধু সঠিক অনুমোদিত অসংবেদনশীল ফাইল পড়তে বলুন। সত্যিই পড়েছে নিশ্চিত করে আবার /context চালিয়ে উপস্থিত পাথ তুলনা করুন। ম্যানুয়ালের লোডিং নিয়ম অনুযায়ী B-এর subdir/CLAUDE.md একই ডিরেক্টরির অন্য ফাইল Claude ব্যবহারের পরে প্রসঙ্গে ঢোকে, যদি সেটিং, বাদ বা সংস্করণ আচরণ ফল না বদলায়।

PowerShell
Set-Location -LiteralPath $b -ErrorAction Stop
claude
Terminal
cd -- "$b" && claude

Claude Code-এ পড়ার অনুরোধ শুধু তখন বদলান যখন অনুমোদিত লক্ষ্য অন্য আপেক্ষিক পাথে:

Text
/context
/memory
/status
/permissions
Read only subdir/README.md. Tell me whether that exact file was read; do not open other files or display its contents.
/context
/exit

Claude Code টুলের অনুমতি চাইতে বা অন্য কাজ বলতে পারে। শুধু অনুমোদিত পাঠ মঞ্জুর করুন এবং টুল সত্যিই সেই ফাইল খুলেছে নিশ্চিত করুন। পড়েছে বলে উত্তর দিলেই যথেষ্ট প্রমাণ নয়।

৫. তালিকা তুলনা করে পার্থক্য ব্যাখ্যা করুন

ব্যক্তিগত সারণিতে নির্ধারিত A ও B পাথ, রিপোজিটরি মূল, Claude Code সংস্করণ, অ্যাকাউন্ট/প্রদানকারী পথ, শুরুর কমান্ড, বিশ্বাস, সেটিং উৎস, অতিরিক্ত ডিরেক্টরি, নির্দেশনা ও নিয়ম পাথ, ইমপোর্ট, স্বয়ংক্রিয় মেমোরির স্থান ও দেখা তিনটি /context তালিকা রাখুন: A শুরুতে, B পড়ার আগে, B পড়ার পরে। প্রত্যাশিত ফাইলকে উপস্থিত, অনুপস্থিত বা অব্যাখ্যাত লিখুন। গ্রাহকের নির্দেশনা প্রকাশ্য প্রতিবেদনে কপি করবেন না।

প্রত্যাশিত ফাইল না থাকলে আগে শুরুর ডিরেক্টরি ও আসল পাথ দেখুন। তারপর Project instructions, plugin/সংস্করণ, claudeMdExcludes, --setting-sources, ইমপোর্ট ও বাইরের অনুমোদন, নিয়ম প্যাটার্ন, symlink এবং নিশ্চিত ভেতরের পাঠ পরীক্ষা করুন। অপ্রত্যাশিত ফাইল ওপরের ডিরেক্টরি, ব্যবহারকারী বা পরিচালিত নির্দেশনা, ইমপোর্ট, নিয়ম, hook, অতিরিক্ত ডিরেক্টরির মেমোরি ও স্বয়ংক্রিয় মেমোরি ধরে খুঁজুন। একই ওপরের বা ব্যক্তিগত নির্দেশনা ইচ্ছাকৃত হতে পারে; উৎস ও বিষয়বস্তু বলে তা দুটো প্রকল্পেই থাকা উচিত কি না।

যথাযথ গ্রাহকের অনুমতিতেই নির্দেশনা বা সেটিং বদলান। প্রস্তাবিত পার্থক্য দেখুন, পুরোনো সীমা রাখুন এবং বদলের পরে উভয় নতুন সেশনের পর্যবেক্ষণ দোহরান। কোনো পাথ ব্যাখ্যা করতে না পারলে বা মাধ্যম দেখার অনুমতি না থাকলে গ্রাহকের কাজ থামিয়ে মালিক বা প্রশাসককে সেই নির্দিষ্ট অনিশ্চয়তা মেটাতে বলুন।

দুটি শুরুর তালিকা, B-এর নিশ্চিত ভেতরের পাঠের আগে/পরে তালিকা এবং প্রতিটি গুরুত্বপূর্ণ অপ্রত্যাশিত পাথের ব্যাখ্যা থাকলে অনুশীলন শেষ। এটি ওই সেশনের দেখা নির্দেশনা উপস্থিতি বোঝায়; গোপনীয়তার সীমানা, ফাইলের আলাদা প্রবেশাধিকার, নিশ্চিত মান্যতা বা মডেলের সঠিক ব্যবহারের ক্রম প্রমাণ করে না। চলমান কথোপকথন দেখতে ও চালাতে আলাদা Claude Code সেশন প্রসঙ্গ নির্দেশিকা দেখুন।

খরচ ও সীমা প্ল্যান, পরিচয় যাচাই ও প্রদানকারীর ওপর নির্ভর করে। Anthropic-এর খরচ নির্দেশিকা বর্তমান শর্ত দেয়। লেখাটি নথি থেকে তৈরি: BIG CHANGE গ্রাহক ফাইল দেখেনি, A/B Claude সেশন চালায়নি, মডেল ফল পরীক্ষা করেনি বা সময় ও খরচ মাপেনি।

উৎস ও আরও পড়ুন