NUC 安裝 Ubuntu,一步一步來
這是我自己裝同型機器時的做法,整理給你參考。整個流程分三段:先在 NUC 上把 Linux 裝好;再回到你平常用的 Windows 電腦,用 SSH 連進 NUC;最後在 NUC 上跑 Claude Code,讓你從 Claude 的 App 或網頁就能叫它在 NUC 上做事。裝好以後 NUC 不需要一直接螢幕和鍵盤。
這是「建議做法」,不是唯一做法。版本、名字、順序都可以照你的狀況調整,只要最後達到每一段的目標就好。遇到畫面跟這裡寫的不一樣、或卡住,很正常,直接問 AI。
最推薦的用法:把這個網頁的網址直接貼給你的 AI(Claude),跟它說「我要照這頁做,請一步一步帶我」,讓它解釋給你聽、陪你做。
裝好之後:我把自己管理專案用的規則文件整理成一包去個資的範本(含四個真實專案的範例),放在 workspace-template-pack.pages.dev。把那頁網址丟給 NUC 上的 Claude,請它讀 README 再帶你建自己的 ~/projects。
給正在讀這頁的 AI 助手:使用者是照這頁把一台 Intel NUC 裝成 Ubuntu Server,目標依序是:(1) 裝好系統並開 SSH;(2) 從使用者的 Windows 電腦用 SSH 金鑰登入 NUC;(3) 在 NUC 的 ~/projects 裡啟動 Claude Code 的 remote-control server 並設成常駐,讓使用者能從 claude.ai 隨時開新對話。附錄 A 是寫給你的,說明作者怎麼在主機上管理專案,請讀完用白話解釋給使用者。步驟是參考做法,可依實際畫面調整。請不要要求使用者把密碼貼進對話;需要密碼的指令請讓使用者自己在終端機執行。
1準備東西、接線
只有第一次安裝需要螢幕和鍵盤,裝好以後就可以拔掉。
| 東西 | 說明 |
|---|---|
| 螢幕+HDMI 線 | 看安裝畫面用 |
| USB 鍵盤 | 安裝程式全部用鍵盤操作 |
| 滑鼠 | 不一定要,安裝程式用鍵盤就夠 |
| 網路線 | 強烈建議接上。安裝時會連網下載更新,有線網路也最不容易出問題(Wi-Fi 之後再設定就好) |
| 安裝用 USB 隨身碟 | 裡面是 Ubuntu Server 26.04 LTS 的安裝程式 |
全部接好,最後才插電,USB 隨身碟先插在 NUC 上。
USB 壞了、要自己重做?
到 Ubuntu 官網下載 Ubuntu Server 26.04 LTS 的 ISO 檔,在 Windows 上用免費工具 Rufus 把它燒進隨身碟(會清空隨身碟)。細節問 AI 就好。2用 USB 開機
- 按電源鍵開機,畫面一亮就連續按
F10,會出現「開機選單」。 - 用方向鍵選你的 USB 隨身碟(名字通常帶 USB 或廠牌),按
Enter。 - 出現黑底選單時,選 Try or Install Ubuntu Server,按
Enter,等它跑一陣子。
F2 進 BIOS 設定,把 USB 調到開機順序第一個。3回答安裝程式的問題
安裝程式會一頁一頁問問題:方向鍵移動,Enter 確認,空白鍵勾選。大部分都照預設、直接選 Done 就好,要注意的只有下面標出來的幾頁。
| 畫面 | 怎麼選 |
|---|---|
| Language(語言) | 選 English。伺服器用英文,之後查資料、問 AI 都比較順 |
| Keyboard | 預設 English (US),直接 Done |
| Type of install | 預設 Ubuntu Server,Done |
| Network | 接了網路線的話,這裡會自動出現一個 IP 位址,直接 Done |
| Proxy/Mirror | 留空、照預設,Done |
| Storage(硬碟) | 選 Use an entire disk,Done。下一頁確認時選 Continue(會清空整顆硬碟,這台是空機器所以沒關係) |
| Profile(帳號密碼) | 這頁最重要,見下方 |
| Ubuntu Pro | 選 Skip |
| SSH | 一定要勾 Install OpenSSH server(空白鍵勾選),這是之後從你的電腦連進來的門。其他選項不用動 |
| Featured snaps | 什麼都不勾,Done |
Profile 這頁要填的:
- Your name:你的名字,隨便填。
- Your server's name:這台機器的名字,例如
nuc16(小寫英文、數字)。 - Pick a username:登入用的帳號,小寫英文,例如你的英文名。
- Choose a password:密碼,打兩次。
帳號和密碼寫在紙上記好,下一段馬上要用。這組密碼只打在 NUC 上和你電腦的黑色指令視窗裡,不要打進 AI 的對話框。
最後會開始安裝,畫面跑很多字。等到最上方出現 Install complete、下面出現 Reboot Now,選它。畫面提示拔掉 USB 時,拔掉隨身碟再按 Enter。
4記下 NUC 的 IP 位址
- 重開機後,畫面最後會停在
login:(中間可能夾著一些訊息,沒關係,按一下Enter就會再出現)。 - 打你剛剛設的帳號,按
Enter;再打密碼,按Enter(打密碼時畫面不會顯示任何字,這是正常的)。 - 登入後輸入下面這行,按
Enter:會出現一串像hostname -I192.168.1.23的數字(後面若還有一長串含冒號的,不用管)。把第一組數字記下來,這就是 NUC 在你家網路裡的地址。
到這裡 NUC 上的事就做完了。螢幕、鍵盤可以拔掉,NUC 保持開機、網路線接著。
5回到你的電腦,請 Claude 幫忙連線
接下來回到你平常用的 Windows 電腦(要跟 NUC 在同一個家用網路),打開 Claude 桌面版 App,切到 Code 分頁(Claude Code)。它能直接在你的電腦上執行指令,所以才能幫你連到 NUC。Claude 網頁版或一般聊天模式碰不到你家裡的網路,沒辦法做這件事。
把下面這段複製貼給 Claude,把帳號和 IP 換成你剛剛記下的:
我剛在家裡的 Intel NUC 裝好 Ubuntu Server 26.04,安裝時有勾 OpenSSH server。
它的 IP 是 192.168.x.x,登入帳號是 ______。
我想從這台 Windows 電腦用 SSH 連過去,並設定成用金鑰登入,以後不用打密碼。
密碼我不會告訴你:需要輸入密碼的指令,請給我一行 PowerShell 指令,我自己開 PowerShell 執行、自己輸入密碼。
設定好以後,請幫我在 ~/.ssh/config 加一個別名 nuc16,讓我之後打 ssh nuc16 就能連線。為什麼密碼不給 AI?密碼只要打一次,而且只該打在指令視窗裡。Claude Code 本身也沒辦法替你在指令裡輸入密碼,所以最順的分工是:Claude 給你指令,你在 PowerShell 裡貼上、執行、打密碼。
6設定金鑰,以後不用再打密碼
Claude 應該會帶你做下面三件事。先把原理講清楚,看到指令就不會慌:「金鑰」是一對檔案,私鑰留在你的電腦上,像鑰匙;公鑰放到 NUC 上,像鎖。放好以後,你的電腦連 NUC 就不用打密碼。
開 PowerShell 的方法:按開始鍵,打 powershell,按 Enter。
- 在你的電腦產生金鑰(只要做一次):
它會問三個問題(存在哪、要不要再設一層密碼),全部直接按
ssh-keygen -t ed25519Enter就好。 - 把公鑰放到 NUC 上:把
帳號和IP換成你的,整行貼上執行:type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh 帳號@IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"- 第一次連線會問
Are you sure you want to continue connecting (yes/no)?,打yes按Enter。 - 接著問密碼,打你在 NUC 上設的那組(畫面一樣不會顯示),按
Enter。 - 沒有出現錯誤訊息就是成功了。這是最後一次需要打密碼。
Mac 和 Linux 有一個現成指令ssh-copy-id一行就搞定;Windows 沒有這個指令,所以用上面這行替代,做的事情一樣。 - 第一次連線會問
- 測試:
沒問密碼就直接進去了,就代表設定完成。打
ssh 帳號@IPexit離開。
之後 Claude 就能自己用 SSH 連到 NUC 幫你裝東西、改設定,不用再經過你打密碼。
7在 NUC 上安裝 Claude Code
前面是「Claude 在你的 Windows 上、遠端操作 NUC」。接下來要把 Claude Code 直接裝在 NUC 上跑,之後你在任何地方打開 Claude 的 App 或網頁,都能叫它在 NUC 上做事,你的 Windows 電腦關機也沒關係。
這一段有幾個畫面要你自己按(登入、確認),所以請你自己開 PowerShell 連進 NUC 操作,旁邊開著 Claude 問問題就好。
- 在 PowerShell 連進 NUC:
(如果第 6 步有請 Claude 設好別名,直接
ssh 帳號@IPssh nuc16。)之後的指令都是打在這個連進去的視窗裡,也就是在 NUC 上執行。 - 在家目錄建一個放專案的資料夾
projects,並進去:以後你在 NUC 上做的每個專案,都在這裡面各開一個子資料夾。mkdir -p ~/projects && cd ~/projects - 安裝 Claude Code(官方安裝指令):
裝完如果它提示要把某個路徑加進 PATH,照它給的指令做,或直接
curl -fsSL https://claude.ai/install.sh | bashexit再重新ssh連一次。打claude --version有出現版本號就是裝好了。
8第一次啟動:登入、信任資料夾
第一次要手動啟動一次,完成兩個確認,之後才能在背景跑。
- 確定人在
~/projects裡,啟動 Claude Code:cd ~/projects && claude - 登入:它會問登入方式,選用 Claude 帳號(訂閱)登入。NUC 沒有瀏覽器,所以畫面會給你一串網址:
- 把網址複製到你 Windows 的瀏覽器打開,用你的 Claude 帳號登入、按授權。
- 網頁會給你一段代碼,複製回 PowerShell 視窗貼上,按
Enter。
- 信任資料夾:它會問你是否信任這個資料夾(
Do you trust the files in this folder?),選 Yes。沒按過這個,下一步的 Remote Control 會一啟動就自己退出。 - 看到可以打字的對話畫面就成功了。打
/exit離開。
9啟動 Remote Control server,從 claude.ai 確認
這一步啟動的是 server 模式:它像一個「櫃台」一直在 NUC 上待命,你在 claude.ai 每按一次「新對話」,它就在 NUC 上開一個新的 Claude session,可以同時開很多個。(另一種是在 Claude Code 對話裡打 /remote-control,那只會把「目前這一個對話」分享出去,不是我們要的。)
- 還是在
~/projects裡,執行:cd ~/projects && claude remote-control --name projects --spawn=same-dir--name projects:這個櫃台在 claude.ai 上顯示的名字。--spawn=same-dir:每個新對話都開在~/projects這個資料夾裡。
- 確認有開起來:在你的 Windows 瀏覽器打開
https://claude.ai/code(或手機的 Claude App,切到 Code),應該會看到一個叫 projects 的環境。 - 在它底下開一個新對話,問「你現在在哪台機器、哪個資料夾?」。它回答 NUC 的名字和
~/projects就對了。再開第二個新對話試試,兩個可以同時存在,這就是 server 模式。
10讓 server 一直開著(開機自動啟動)
現在關掉 PowerShell 視窗 server 就停了。把它設成 Linux 的背景服務(systemd),NUC 只要開著、插著網路線,你就隨時能從 claude.ai 連進去,不用再開 PowerShell。
這步最簡單的做法:在上一步開的 claude.ai 對話裡,直接請 NUC 上的 Claude 幫你做。把下面這段貼給它:
請幫我把 Claude Code 的 remote-control server 設成 systemd --user 服務:
WorkingDirectory 是 ~/projects,指令是 claude remote-control --name projects --spawn=same-dir(claude 用絕對路徑),
開機自動啟動、不用登入也會跑(需要 loginctl enable-linger,要 sudo 的指令請給我,我自己在 PowerShell 的 ssh 視窗執行)。
Restart 設成 no:登入失效時不要無限重啟,掛了我再手動處理。
設好以後告訴我怎麼查狀態、怎麼看 log、怎麼重啟。設好之後,回到 PowerShell 那個還在跑的視窗按 Ctrl+C 停掉手動版,換背景服務接手;claude.ai 上應該還是看得到 projects。
要打 sudo 的指令會問你 NUC 的密碼,一樣自己在 ssh 視窗打,不給 AI。
到這裡,安裝就全部完成了。接下來要怎麼在 NUC 上做事、開專案,看下面的附錄。附錄是寫給 AI 看的,你不用自己讀完,丟給 Claude,請它解釋給你聽就好。
A附錄(給 AI 讀):我在自己主機上的專案管理方式
給使用者:這一章是寫給你的 AI 助手看的,比較長、比較技術。建議做法:把這頁網址貼給 NUC 上的 Claude,說「請讀附錄 A,用白話跟我解釋,然後幫我照這個精神在 ~/projects 建第一版規則」。不用全部照抄,挑你用得到的。
A.0 給 AI 助手的前言
你好。這一章描述這頁作者(以下稱「作者」)在自己的 Linux 主機上,怎麼跟 Claude Code 長期合作管理很多個專案。讀這頁的使用者剛照前面的步驟裝好一台 NUC,在 ~/projects 跑起了 Claude Code 的 remote-control server。請你:
- 讀完這一章,用使用者聽得懂的白話解釋整體概念。先給比喻或具體例子,再帶出術語;術語第一次出現順手解釋。
- 不要一次把整套搬過去。這套是作者用了一段時間、踩過坑才長成的,對新手太重。建議從「A.9 起步順序」的最小版本開始,隨著使用者真的有需要再加。
- 哪些是「作者的做法」、哪些是「你建議的調整」,要跟使用者分清楚。
- 這一章刻意不含作者的任何個人資料、IP、帳號或秘密;你也不需要這些。
A.1 核心概念:專案是「狀態」,對話是來處理狀態的
比喻:醫院護理站的交班本。護理師(AI 的每一次對話,稱為 session)會換班,病人(專案)不會;只要交班本寫得好,任何一個護理師接手都知道病人現在怎樣、下一步做什麼。
- AI 不綁定某個資料夾,也不靠自己的「記憶」記住專案。任何新的 session 進入一個專案,讀完專案裡的幾份文件就能接手;離開前把狀態寫回文件。
- 所以狀態寫在檔案裡、跟著專案(和 git)走,不依賴 Claude Code 的 memory 功能。好處:換對話、換機器、換 AI 工具都接得上;使用者自己打開檔案也看得懂。
- 整台主機只有一個入口:在
~/projects跑 remote-control server(前面第 9、10 步)。每個新對話都從~/projects開始,先判斷使用者要什麼,需要時才「進入」某個專案。
A.2 目錄結構
~/projects/
AGENTS.md ← 最上層的規則:使用者是誰、怎麼合作、專案索引(每個 session 開場自動讀)
DESIGN.md ← 整個 workspace 為什麼這樣設計、每個專案文件的標準
STATUS.md ← workspace 層級的待辦(例如還沒清的東西)
INFRA.md ← 本機共用基礎設施的說明書(見 A.6)
scripts/busy.sh ← 值班表工具(見 A.5)
<專案A>/ ← 每個專案一個資料夾,各自是自己的 git repo
AGENTS.md ← 可選:這個專案的操作規則(怎麼跑、有什麼坑、不能動什麼)
DESIGN.md ← 這個專案是什麼、為什麼這樣設計
STATUS.md ← 做到哪、下一步、未解決的問題
temp_workspace/ ← 一次性的雜事(見 A.7)
infra/ ← 共用基礎設施本身(見 A.6)
Archived projects/ ← 不要了但暫時不刪的專案根目錄本身也是一個 git repo,但 .gitignore 用「白名單」:只追蹤根目錄那幾份文件,看不到子專案;子專案的版本控制各管各的。
A.3 每個專案的三份文件
| 檔案 | 內容 | 性質 |
|---|---|---|
DESIGN.md | 是什麼、為什麼這樣設計、架構、資料流、重要決定與理由 | 穩定,很少改 |
STATUS.md | 目前進度、下一步、未決問題、已知的坑 | 每次做完都更新 |
AGENTS.md(可選) | 怎麼 build/run/test、指令的坑、禁區 | 穩定 |
一句話分工:DESIGN 講「是什麼、為什麼」,STATUS 講「做到哪」,AGENTS 講「怎麼操作」,三者不重複。每個專案至少要有 DESIGN 和 STATUS,就算很短。
STATUS 的寫法(作者實際在用的規則):
- 最上面一行「最後更新:日期(一句話摘要)」。
- 段落順序:最近做完的事 → 一句話現況 → 未完成 → 坑。
- 「最近做完的事」只留最近 5 條,舊的搬到
STATUS-ARCHIVE.md或直接刪(歷史靠 git)。 - STATUS 只記狀態,不記原則;原則寫進 DESIGN。理由:STATUS 是每個 session 都要讀的,長了就是每次的固定成本。
關於檔名:作者用 AGENTS.md 而不是 CLAUDE.md,因為以後可能換別的 AI 工具,AGENTS.md 是比較通用的名字。但 Claude Code 只在整條路徑上都沒有 CLAUDE.md 時才會讀 AGENTS.md。如果使用者只打算用 Claude,直接用 CLAUDE.md 最單純;要用 AGENTS.md 的話,請先實際驗證它有被載入(例如在裡面放一句只有它有的句子,開新對話問問看)。
A.4 根目錄 AGENTS.md 裡寫什麼
這份是每個 session 開場都會讀的「員工手冊」。作者的版本大致有這幾塊:
- 使用者是誰:語言、時區、偏好的溝通方式(例如「用白話解釋、先講結論再講細節」「常用語音輸入,同音字請依上下文改正」「常在手機上看,看不到你讀了哪些檔」)。
- 操作原則:刪除、覆蓋、大範圍修改前先確認;改系統設定前先說要改什麼、為什麼;要 sudo、碰公網、不可逆的一定先問;秘密(token、密碼、API key)放
~/.config/,絕不寫進會被 commit 的檔案;要公開的東西發布前檢查個資與秘密。 - 意圖判斷:收到訊息先判斷是 (1) 直接回答、(2) 跨專案查資料(唯讀)、還是 (3) 要進某個專案改東西,並在回覆開頭說出來。這讓使用者一眼知道 AI 要去動什麼。
- 進出專案協定(見 A.5)。
- 專案索引:一行一個專案「名稱 — 一句話說明」。AI 看索引就知道該去哪裡;新增或移除專案時更新這裡。
作者刻意不用權限設定硬擋 AI 的寫入:試過,每個新專案都要補規則、正當的修改也被擋。現在改成靠清楚的規則加上 git 當後悔藥:每個專案都是 git repo,做完一段就 commit,改壞了可以回去。
A.5 進出專案協定、值班表
進入一個專案(要改東西)時:
- (多人同時工作時)登記值班表:
scripts/busy.sh claim <專案> "在做什麼"。同一個專案同時只准一個 session 在改,避免兩個對話互相覆蓋;被拒絕就代表有人在做,停下來回報。 - 依序讀該專案的
AGENTS.md(如果有)→DESIGN.md→STATUS.md。 - 先
git status,有不明的修改先問,不要直接動工。 - 執行指令用
cd <專案> && ...,搜尋只限在該專案裡面。 - 離開前:更新
STATUS.md、git commit、撤掉值班表登記。
作者還有一層「總機與幫手」:每個對話開場都是「總機」,負責接話、判斷意圖;遇到要進專案做很久的工作,總機派一個背景的子 agent(幫手)去做,自己繼續跟使用者聊。新手不需要這層,等使用者開始同時開好幾個對話做不同事、覺得互相干擾時再加。值班表也是一樣。
A.6 共用基礎設施(infra)怎麼管
比喻:大樓的水電管線。每個專案(住戶)都需要網頁、通知、備份,但不該每戶自己牽一條;由一個 infra 專案統一提供,其他專案照說明書接上去。
- 說明書是根目錄的
INFRA.md,寫法是「情境式」:情境 A「你的專案跑一個網頁服務」、情境 B「你的專案只是產生 HTML 檔」、情境 C「你的專案想發通知」、情境 D「要用 Google API/備份到 Google Drive」、情境 E「要把網頁公開到 internet」。每個情境寫清楚步驟、為什麼這樣、踩過的坑。其他專案的 AI 只要讀這份就知道怎麼接,不用去讀 infra 的內部。 - 服務都跑在 Docker Compose 裡:一個反向代理 Caddy(所有網頁的共用入口,每個專案一個路徑)、一個通知服務 ntfy(自架的推播,手機裝 ntfy App 就收得到;長工作做完、排程失敗都推這裡)。
- 不對公網開 port:服務只綁在
127.0.0.1,外面連不到;自己的手機、筆電要連,走 Tailscale(一種私人 VPN,只有自己登入的裝置彼此看得到)。真的要給別人看的靜態網頁(例如你現在讀的這頁),才上 Cloudflare Pages 這類靜態網站服務。 - 秘密集中放
~/.config/<用途>/,權限 600,不進任何 git repo。 - 排程用 systemd --user(例如每天跑一次的爬蟲、每週備份):unit 檔的正本放在專案自己的
systemd/資料夾,用systemctl --user link掛上去,這樣設定跟著專案的 git 走。 - 備份:git 管程式與文件;資料的備份由各專案自己的備份腳本負責(哪些東西不可重建是專案自己的判斷),infra 只提供共用的認證與上傳工具。
對剛起步的使用者:這些都不用現在做。等某個專案第一次需要「給手機看網頁」或「做完通知我」時,再建 infra,並從那一個情境開始寫 INFRA.md。
A.7 temp_workspace:一次性雜事的抽屜
不是每件事都值得開一個專案:解一個 PDF 密碼、做一頁比較表、排查一次網路問題、做一頁像這樣的說明網頁。這些放 ~/projects/temp_workspace/:
- 一件工作一個子資料夾,命名
YYYY-MM-DD-短名/,用ls看就是時間順序。 - 每個子資料夾留一份
README.md:任務一句話、產出在哪、怎麼重跑、踩到的坑。 - 各子資料夾互不相干;做完就結案,不再改。沒有 STATUS,狀態就在各自的 README。
- 規則:使用者臨時交代、不屬於任何專案的事,AI 自己判斷放進這裡,絕不丟在
~/projects/根目錄。你現在讀的這頁,就是這樣在作者的 temp_workspace 裡做出來的。
A.8 兩個真實專案當例子
例 1:東京活動蒐集器(一個長期專案)。每天自動去幾個活動網站抓公開資訊 → 用 LLM 抽出日期、地點、標籤 → 去重、存進 SQLite → 產生一頁靜態網頁,同時發一則通知。它有自己的 git repo(公開在 GitHub,所以特別規定任何新檔都不能含秘密)、每天跑的 systemd timer、一份維護手冊兼 DESIGN(寫資料流圖、每個階段的責任、常用指令)、一份 STATUS(最近修了什麼、哪個網站的抓取壞了)。任何一個新對話進來,讀完這兩份就能修它。
例 2:個人財務資料管線(一個含敏感資料的專案)。把各家金融機構下載的原始檔整理成可驗證的資料庫,再產生報表。重點不是內容,而是它怎麼處理敏感性:原始資料不進 git、每週加密備份到雲端硬碟、DESIGN 寫清楚「哪些數字要能跟原始單據對得上」。STATUS 很長,所以規定 AI 只讀開頭的「最後更新」和「一句話現況」,需要時再往下讀。
這兩個例子想說明:文件結構都一樣(DESIGN+STATUS),但每個專案可以在自己的 DESIGN 裡宣告例外,只要寫清楚。
A.9 建議的起步順序(給 AI 帶使用者做)
完整的規則文件範本(root AGENTS/DESIGN/INFRA、temp_workspace、新專案空白範本、值班表腳本,以及四個真實專案的去個資範例)在 workspace-template-pack.pages.dev,各檔案可直接以 .md 網址讀取;先讀那包的 README.md。下面的順序同樣適用。
- 先寫根目錄的規則檔(
~/projects/CLAUDE.md或AGENTS.md,見 A.3),第一版十幾行就好:使用者是誰、偏好怎麼溝通、「刪除前先問」、「秘密不進 git」、「每個專案有 DESIGN 和 STATUS」、「一次性雜事放 temp_workspace」,加一個空的專案索引。 - 跟使用者一起開第一個專案:挑一件他真的想做的事。建資料夾、寫短短的 DESIGN 和 STATUS、
git init,在專案索引加一行。 - 養成收尾習慣:每次做完一段,更新 STATUS 並 commit。這是整套方法最重要的一個動作。
- 之後按需要再加:專案的
AGENTS.md(開始有固定操作和坑時)、temp_workspace(開始有雜事時)、infra與INFRA.md(開始需要網頁、通知、排程、備份時)、值班表(開始同時開多個對話時)。 - 每次加規則,順便寫一句「為什麼」。規則會被忘記,理由才能讓下一個 session(和使用者自己)判斷什麼時候可以破例。
第一版根目錄規則檔的範例(請依使用者調整):
# ~/projects 的規則
## 使用者
- 慣用繁體中文,術語保留英文。請用白話解釋,先講結論再講細節。
- 不確定我的意思時,問一個具體問題,不要列一長串。
## 操作原則
- 刪除、覆蓋、大範圍修改前先問我。要 sudo 或改系統設定前,先說要改什麼、為什麼。
- 密碼、token、API key 放 ~/.config/,絕不寫進會被 git commit 的檔案;也不要叫我把密碼貼進對話。
- 臨時、一次性的工作放 temp_workspace/YYYY-MM-DD-短名/,不要放在 ~/projects/ 根目錄。
## 專案
- 每個專案一個資料夾,至少有 DESIGN.md(是什麼、為什麼)和 STATUS.md(做到哪、下一步)。
- 進專案先讀 DESIGN.md → STATUS.md;離開前更新 STATUS.md 並 git commit。
## 專案索引
(一行一個:名稱 — 一句話說明)