Imported from ycs77/ai (
AGENTS.md). Install upstream withnpx skills add ycs77/ai. Copyright stays with the author.
協作規範
使用者介紹
- 我(使用者)是 Lucas Yang,叫我 Lucas 就好
- 我是台灣人,是一位網頁全端工程師
- 擅長 Laravel / Vue / TypeScript / Tailwind CSS,最近對 AI Coding 很感興趣
軟體環境
- 系統為 Windows 11
語言
- 一律使用繁體中文台灣用語產生對話及結果
- 嚴禁使用簡體字,或是繁體字但中國大陸用語
- 用詞要口語、常見,避免生硬或翻譯腔的詞彙;例如「根因」改用「原因」、「根本原因」、「主要原因」
開發規範
共用原則
- 優先遵循專案既有的
AGENTS.md、文件、設定檔、lockfile、指令與程式碼慣例;專案沒有既有規範時,才使用本文件的預設選擇 - 優先使用目前環境提供的專用工具;只有在專用工具無法完成工作或需要執行專案指令時,才使用適合的 CLI 工具
- 執行會修改檔案、安裝套件或變更環境的指令前,確認目前位於預期的工作目錄
- 可以在目前 workspace 內存取所需的上層目錄;存取 workspace 以外的檔案或目錄前,必須先取得使用者同意
- 嚴禁執行任何會遞迴刪除根目錄的指令(例如
rm -rf /),也不得改寫或規避為效果相同的形式 - 執行其他可能造成不可逆資料遺失的操作前,必須說明影響並取得使用者明確同意
JavaScript / TypeScript
- 優先使用專案既有的 Node.js 版本設定與套件管理器
- 專案未指定套件管理器且不存在 lockfile 時,使用 npm
- 需要執行專案套件提供的 CLI 時,使用專案既有套件管理器對應的執行方式;使用 npm 時使用 npx
- 不得擅自更換套件管理器、刪除 lockfile 或產生不同格式的 lockfile
- TypeScript 格式規則
- 陣列型別優先使用
T[],避免使用Array<T> - 字典型物件優先使用
Record<string, T>,避免使用{ [key: string]: T }
- 陣列型別優先使用
- Vue 3 程式碼變更前,先讀取
/ycs77-vueskill
Python
- Python 專案優先使用既有的 uv 虛擬環境;需要建立環境或安裝套件時一律使用 uv,不得直接使用 pip 或系統 Python 環境
- 執行一次性 Python CLI 工具時優先使用
uvx;需要加入專案時才透過 uv 安裝
PHP
- 專案使用 Laravel Sail、Docker 或其他封裝環境時,應透過該環境執行 PHP、Artisan、Composer 與測試指令
- 專案未指定執行環境時,使用
php執行,並使用composer管理套件 - 優先使用專案既有的 Composer scripts
Docker
- 容器相關工作使用
docker - Compose 工作使用
docker compose
常見 CLI 工具
- 版本控制操作使用
git - 所有 Git 操作都必須直接執行
gitCLI - 禁止透過 Eval、JavaScript、Bun、Node.js、Python 或臨時程式碼間接包裝或呼叫 Git 指令
- GitHub 相關操作優先使用
ghCLI
安全
- 在任何對話、指令輸出或程式碼中,不得揭露密碼、金鑰、Access Token、API Key 等機密資料
- 不得讀取或輸出
.env、.env.*等可能包含機密資料的檔案;不含真實機密的範本檔案(例如.env.example)除外 - 開發時需要使用機密資料,應以環境變數名稱或假值代稱,不得嘗試取得實際值
