make all-in-one は内部で Homebrew をインストールし、Homebrew は Xcode Command Line Tools (CLT) を要求する。新規 macOS ではまず対話シェルで以下を実行し、GUI インストーラを完了させてからセットアップに進む。
xcode-select --installインストール済みかどうかは xcode-select -p で確認できる(パスが返れば OK)。CLT が未導入のまま make all-in-one を実行すると init_homebrew.sh が検知して案内メッセージを出し中断する。
社内NWから実行する場合は、$HOME/.zlocal に proxy 設定を追加してからセットアップを実行する
新しい macOS 環境でセットアップする場合は、以下の一括コマンドを実行する。
make all-in-one
このコマンドは deploy と install を正しい順序で実行する。
このリポジトリをそのまま VS Code の Dev Container として開くこともできる。
- VS Code の "Dev Containers: Reopen in Container" を実行すると、Ubuntu ベースのコンテナがビルドされ、
postCreateCommandでmake all-in-oneが実行される。 - コンテナ内では Linuxbrew (Homebrew on Linux) を利用して macOS と共通の Brewfile を流す。
Brewfile_dev_gui/Brewfile_applicationsなどのデスクトップアプリ系 Brewfile はインストールしない (init_homebrew.sh内で macOS のときのみ実行)。- VS Code の設定ファイル (
deploy_vscode.sh) は macOS / Codespaces / Coder / Linux の各環境に応じたユーザー設定ディレクトリへ展開される。 - VS Code 拡張は
.dotconfig/vscode/extensions.txtを正本として管理し、Dev Container では.devcontainer/devcontainer.jsonのcustomizations.vscode.extensions、ローカルではinit_vscode_extensions.shから導入する。
dotfiles のシンボリックリンクを対象ディレクトリに作成する。
make deploy-<application_name>
すべてのアプリケーションを一括で deploy する場合は make deploy-all を使う。
アプリケーションのインストールや設定を行う。
make init-<application_name>
すべてのアプリケーションを一括で install する場合は make init-all を使う。
汎用的に使いやすい VS Code 拡張は .dotconfig/vscode/extensions.txt で管理する。
make init-vscode-extensionsmake all-in-one / make init-all でも同じ一覧を使って自動インストールされる。拡張一覧を更新したら、必要に応じて .devcontainer/devcontainer.json の customizations.vscode.extensions も同じ内容に合わせる。
MCP は「対話的な調査・検討・構築で、CLI 単体より価値があるもの」に限定して導入する。さらに「ナレッジ機能」を基準に選定し、実環境情報は既存 CLI を優先する。
- MCP 方針と採用対象: docs/mcp.md
- CLI 認証設定ガイド: docs/cli-setup.md
初期段階での採用予定:
- AWS Knowledge MCP(ドキュメント、API リファレンス、ベストプラクティス参照)
- 実環境情報は
awsCLI で取得(認証設定は docs/cli-setup.md)
- 実環境情報は
- Terraform MCP(Providers/Modules スキーマ、リファレンス、HCP Terraform 履歴分析)
- 実環境操作は
terraform/hcpCLI で実行(認証設定は docs/cli-setup.md)
- 実環境操作は
CLI 優先(MCP 不採用):
- GitHub:
ghコマンドで十分 - Playwright:
npx playwright/playwright testで十分 - draw.io: VS Code 拡張で十分
- Kubernetes:
kubectl/helm優先、MCP は後続検討 - New Relic: ナレッジ MCP 実装待ち
一部の dotfiles は、$HOME 配下のローカル設定ファイルを追加で読み込める。
| file | purpose |
|---|---|
.zlocal |
zsh のローカル設定 |
.gitconfig.local |
git の global config 本体(氏名、メール、credential helper など環境依存値)。~/.zshenv で GIT_CONFIG_GLOBAL として参照される。共通設定は冒頭の [include] path = ~/.gitconfig で取り込む |
.zlocal
# 任意: 社内プロキシ
export http_proxy="YOUR_PROXY"
export https_proxy="YOUR_PROXY"
export HTTP_PROXY="$http_proxy"
export HTTPS_PROXY="$https_proxy"
初回セットアップ時は example をコピーして作成する。
cp ~/.zlocal.example ~/.zlocal.gitconfig.local
[include]
path = ~/.gitconfig
[user]
name = YOUR_NAME
email = YOUR_EMAIL
[credential]
helper = osxkeychain
~/.zshenv が GIT_CONFIG_GLOBAL=~/.gitconfig.local をエクスポートするので、git はこのファイルを global config として読む。gh auth setup-git や VS Code の git config --global による書き込みもすべてこのファイルに入り、dotfiles 管理下の ~/.gitconfig は汚染されない。共通設定(alias、hooksPath、secrets パターン等)は冒頭の include で取り込む。
初回セットアップ時は make deploy-home が example から自動生成する。手動でコピーする場合は次のコマンドを使う。
cp ~/.gitconfig.local.example ~/.gitconfig.localuser.name / user.email と credential helper は後述の GitHub 初期セットアップ で設定する。
make all-in-one は認証状態に依存しないため、GitHub 連携は 初回利用時に一度だけ手動 で行う。以下を上から順に実行する。
gh auth loginmake remote-setup-github-auth内部で gh auth setup-git を実行し、~/.gitconfig.local に credential helper を書き込む(GIT_CONFIG_GLOBAL により dotfiles 管理下の ~/.gitconfig には差分が出ない)。
make init-git-identityGitHub API から取得して ~/.gitconfig.local に書き込む。user スコープが無い場合は <id>+<login>@users.noreply.github.com にフォールバックする。
公開アドレス(GitHub 登録の実メール)で push したい場合は、事前に user スコープを追加する。
gh auth refresh -h github.com -s user
make init-git-identitymake doctor[Git Configuration] セクションがすべて ✓ ならセットアップ完了。
.dotconfig/ghq/repositories.txt に <host>/<owner>/<repo> 形式で常用リポジトリを列挙しておくと、次のコマンドで ~/ghq 配下に一括取得できる(既存は ghq get -u で update のみ)。
make ghq-clone- 実行前に
gh auth login済みであること(private repo を含む場合) - 失敗したリポジトリは最後にサマリ表示されて他は続行する
make all-in-oneには含まれないので、初回認証後に任意のタイミングで実行する
~/.git-templates/git-secrets/hooks/pre-push を core.hooksPath で全リポジトリから参照する。以下を満たさない push は拒否される。
gh auth login済みであることgit user.name/git user.emailが設定済みであることgit user.emailがログイン中 GitHub アカウントのメールと一致すること(またはnoreply)
フックが反映されない場合は make deploy-home を再実行して ~/.git-templates の配置を更新する。
VS Code が .dotconfig/vscode/settings.json に環境依存の値を書き込んでリポジトリ差分として現れることがある。ローカル運用では skip-worktree で表示を抑制する。
make remote-ignore-local-diff設定を更新してコミットしたいときは抑制を解除する。
make remote-unignore-local-diff互換のため、make coder-* と make devcontainer-* も利用できる。
一部のアプリはスクリプトだけではセットアップが完了しない。
mac にフォントを追加する。
open "$(brew --prefix sfmono-square)/share/fonts"