بنقرة واحدة
add-drone
Borg drone(lib/ 配下の git submodule として管理される Emacs パッケージ)を追加する。「パッケージを導入して」「〜.el を追加して」「drone 追加」等のリクエストで使う。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Borg drone(lib/ 配下の git submodule として管理される Emacs パッケージ)を追加する。「パッケージを導入して」「〜.el を追加して」「drone 追加」等のリクエストで使う。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | add-drone |
| description | Borg drone(lib/ 配下の git submodule として管理される Emacs パッケージ)を追加する。「パッケージを導入して」「〜.el を追加して」「drone 追加」等のリクエストで使う。 |
新しい Emacs パッケージを Borg drone として追加する手順。
GitHub リポジトリ名ではなく、(require 'X) する Emacs の feature/package 名を使う。
この2つはしばしば異なる(例: リポジトリ akermu/emacs-libvterm → 名前は vterm、
リポジトリ xenodium/acp.el → 名前は acp)。迷ったらパッケージの主要な .el
ファイル末尾の (provide 'X) を確認する。
.claude/skills/add-drone/scripts/lookup.sh <name>
borg-assimilate が参照するのと同じ Epkg データベース(emacsmirror の
パッケージ定義、var/epkgs)から、正規の upstream URL・summary・必須依存を
引く。リポジトリ URL を Web 検索で探してはいけない。 同名の別パッケージや
fork を正規リポジトリと取り違える事故の元になる。
出力の url: をそのまま手順 3 に渡す
class が wiki / orphaned の場合は供給元の信頼性に注意が必要なので、 進める前にユーザーに確認する
必須依存に「未登録」があれば、その依存パッケージも本手順(1〜3)で追加する
見つからない場合は、まずデータベース自体を更新して再確認する:
.claude/skills/add-drone/scripts/update-epkgs.sh
(emacs --batch から epkg-update を実行し、パッケージリストと定義を
最新化する。)それでも見つからない新しすぎる・マイナーなパッケージに
限り、upstream リポジトリを自力で特定し、URL をユーザーに確認してから
手順 3 に進む。
.claude/skills/add-drone/scripts/add-drone.sh <name> <url>
内部で emacs --batch から borg-assimilate を呼ぶ。submodule の登録・
.gitmodules の整列・git dir の absorb・drone のビルドまで borg が一貫して
行うので、git submodule add を直接叩いてはいけない(--name の
付け忘れなど手作業の事故を防ぎ、borg の管理下で完結させるため)。
変更はステージされた状態で残る(コミットはしない)。
lisp/toncs-config-*.org の (require '...) が並ぶブロックに (require '<name>) を追記する。lisp/toncs-config-<name>.org を新規作成し、
lisp/toncs-config.org に (toncs-config-prepare <name>) または
(toncs-config-configure <name> ...) を追加する。make lisp
ERROR_ON_WARN=t make test
(/verify スキルでも同等の検証ができる)
assimilate 後にビルドや設定で失敗して最初からやり直したい場合は、 コミット前であれば以下でクリーンアップできる:
git submodule deinit -f lib/<name>
git rm -f lib/<name>
rm -rf .git/modules/lib/<name> .git/modules/<name>
git checkout -- .gitmodules
(.git/modules/ 側のパスは submodule 名によって lib/<name> か <name> のいずれかになるので
両方 rm しても無害)