Skip to content

Instantly share code, notes, and snippets.

@kenming
Created January 28, 2026 03:36
Show Gist options
  • Select an option

  • Save kenming/734fcaa1260988e125d1d4ce4946abec to your computer and use it in GitHub Desktop.

Select an option

Save kenming/734fcaa1260988e125d1d4ce4946abec to your computer and use it in GitHub Desktop.
VS Code Copilot & Claude Code: Relationship Between AGENTS.md, copilot-instructions, and CLAUDE.md

AGENTS.md(Agent 協作規範)

本文件定義了 AI Agent 在本專案中協作時的行為邊界,確保開發流程的可預測性。

1. 核心開發流程:先計畫、後實作

  • 思考優先:涉及跨檔案或架構變更時,必須先產出「修改計畫」供開發者審核。
  • 最小變動:以「可演示、可驗證」為目標。避免不必要的大規模重構。
  • 透明假設:若環境資訊不明,必須列出你的假設點,而非自行通靈。

2. 產出交付格式

每次請求的產出應包含以下區塊:

  • 目標描述:簡單說明你要解決的問題。
  • 變更清單:列出受影響的相對路徑與檔案名稱。
  • 驗證步驟:提供 dotnet run 之後的驗證方式,包含必要的 API 請求範例 (curl/http)。

3. 安全邊界

  • 嚴禁行為:未經討論不得修改全域套件版本(如 .NET 版本)或刪除防護腳本。
  • 範圍侷限:本課程僅聚焦「購物車模組」,請避免引入無關的會員或金流系統。

/** 此行說明檔案儲存路徑: .claude/CLAUDE.md,不用儲存到檔案內容內 */

Claude Code 專案記憶入口

Agent 行為規範

@AGENTS.md

/** 此行說明檔案儲存路徑: .github/copilot-instructions.md,不用儲存到檔案內容內 */

Copilot 專案指令(copilot-instructions.md)

本專案為課程示範用:寵物用品販售平台(聚焦購物車模組) 技術堆疊(Tech Stack):C# / .NET 10 (LTS)、ASP.NET Core、SQLite

1. 架構約束 (DDD 簡化分層)

請遵守以下分層依賴規則:

  • Presentation: Web / API:Controller、Endpoints、DTO)
  • Application: (Use Cases / Services:流程協調、交易邏輯編排)
  • Domain: 核心業務邏輯。不可依賴 Infrastructure。
  • Infrastructure: (EF / SQLite 實作、Repository 實作、外部系統)

2. 編碼美學與慣例

  • C# 命名規約:PascalCase(公開成員)、camelCase(私有欄位/區域變數)。
  • 非同步:I/O 密集操作(DB/網路)必須使用 async/await
  • 方法實作:優先寫「小而清楚」的方法;避免一次塞太多責任。
  • 程式註解:使用 Java Style 風格,註解說明務必使用繁體中文。

3. SQLite 與資料存取

  • 使用 Entity Framework Core 作為 ORM。
  • 生成 Schema 時需考量 SQLite ,避免使用不支援的資料類型。
  • 若生成資料表 / Migration:
    • 請提供 CREATE TABLE 或 EF Core Migration 的等價方案(二擇一即可,依專案設定)。
  • 若需要示範測試資料:
    • 優先提供 seed 方式或簡單 SQL 插入語句。

/** 此行說明檔案儲存路徑: .claude/rules/tech-stack.md,不用儲存到檔案內容內 */

Tech Stack & Coding Conventions

本檔案定義專案的技術約束與開發慣例。

核心技術規範

為了維持與專案全域開發標準的一致性,請完整遵循:

  • 技術堆疊與架構約束:@.github/copilot-instructions.md

.NET SDK 規範

  • 專案使用 .NET 10 (LTS),嚴禁自行變更 SDK 版本。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment