diff --git a/.agent/skills/agent-setup/SKILL.md b/.agent/skills/agent-setup/SKILL.md index 4815f97..1f062b8 100644 --- a/.agent/skills/agent-setup/SKILL.md +++ b/.agent/skills/agent-setup/SKILL.md @@ -57,7 +57,7 @@ sysctl kern.racct.enable Install the baseline: ```sh -sudo pkg install -y bash git bsddialog bastille node24 npm tmux python311 uv ripgrep fd rsync postgresql18-client py311-pillow dejavu rust sanoid +sudo pkg install -y bash git bsddialog bastille node24 npm tmux python311 uv ripgrep fd-find rsync postgresql18-client py311-pillow dejavu rust sanoid npm install -g @mariozechner/pi-coding-agent ``` diff --git a/.agent/skills/ansible-freebsd/SKILL.md b/.agent/skills/ansible-freebsd/SKILL.md index 23de19b..7a6a4cf 100644 --- a/.agent/skills/ansible-freebsd/SKILL.md +++ b/.agent/skills/ansible-freebsd/SKILL.md @@ -131,7 +131,7 @@ Important: Apply the first repeatable host baseline for current `main`: - host package baseline: `bash`, `bsddialog`, `bastille`, `git`, `tmux`, - `python311`, `uv`, `ripgrep`, `fd`, `rsync`, `postgresql18-client`, + `python311`, `uv`, `ripgrep`, `fd-find`, `rsync`, `postgresql18-client`, `node24`, `npm`, `py311-pillow`, `dejavu` - `gateway_enable="YES"` - immediate forwarding enablement diff --git a/.agent/skills/setup/references/prerequisites.md b/.agent/skills/setup/references/prerequisites.md index 8085655..50f3d87 100644 --- a/.agent/skills/setup/references/prerequisites.md +++ b/.agent/skills/setup/references/prerequisites.md @@ -77,10 +77,10 @@ tmux show-options -g extended-keys PI may attempt to download these tools automatically. Install via pkg for better compatibility: ```bash -sudo pkg install fd ripgrep rsync +sudo pkg install fd-find ripgrep rsync ``` -- **fd**: Fast file finder, alternative to `find` +- **fd-find**: Installs the `fd` command used by `pi` for fast file finding - **ripgrep** (rg): Fast grep alternative - **rsync**: Deterministic sync tool for deploys, backups, and jail-to-host transfers - **py311-pillow + dejavu**: Current main uses pkg-native screenshot support on @@ -96,7 +96,7 @@ uv run --python 3.11 ### Platform Notes -- **FreeBSD**: Pre-built binaries are not available for all platforms. Use `pkg install fd ripgrep rsync` instead of relying on PI's built-in downloader. +- **FreeBSD**: Pre-built binaries are not available for all platforms. Use `pkg install fd-find ripgrep rsync` instead of relying on PI's built-in downloader. ## Node.js diff --git a/README.md b/README.md index 25ba9e3..4b73d62 100644 --- a/README.md +++ b/README.md @@ -160,14 +160,14 @@ just setup-cms # npm run setup -- --step cms Recommended explicit host baseline before first run: ```sh -sudo pkg install -y bash git bastille node24 npm tmux python311 uv ripgrep fd rsync postgresql18-client py311-pillow dejavu py311-aider_chat edk2-bhyve just +sudo pkg install -y bash git bastille node24 npm tmux python311 uv ripgrep fd-find rsync postgresql18-client py311-pillow dejavu py311-aider_chat edk2-bhyve just ``` The `edk2-bhyve` package provides UEFI firmware required for optional browser-vm support (FEATURE_BHYVE_GUI=YES in .env). -If `fd-find` is already installed on the host, `pkg` will replace it with -`fd`. That conflict resolution is expected on current FreeBSD ports. +On FreeBSD, use `fd-find`. It provides the `fd` command that `pi` expects, and +avoids colliding with the unrelated legacy `fd` file manager package. The host baseline also includes `py311-pillow` and `dejavu` so tmux screenshot capture works without a separate `uv pip install Pillow` step. @@ -184,7 +184,7 @@ uv run --python 3.11 ```bash # 1. Install the recommended FreeBSD host baseline -sudo pkg install -y bash git bastille node24 npm tmux python311 uv ripgrep fd rsync postgresql18-client py311-pillow dejavu py311-aider_chat just +sudo pkg install -y bash git bastille node24 npm tmux python311 uv ripgrep fd-find rsync postgresql18-client py311-pillow dejavu py311-aider_chat just # 2. Clone the repository git clone https://codeberg.org/Clawdie/Clawdie-AI.git /home/clawdie/clawdie-ai @@ -235,8 +235,8 @@ just preflight -- --with-onboarding --capture-password-step just setup -- --step skills-memory --import ``` -If `pkg` reports that `fd` conflicts with `fd-find`, that is expected: -`fd` is the current package Clawdie uses on FreeBSD. +If the host still has the old `fd` file manager package installed, `pkg` will +replace it with `fd-find`. That replacement is the intended FreeBSD baseline. Available step entrypoints (`setup/index.ts`): `onboarding`, `profile`, `environment`, `pi-config`, `pf`, `jails`, `db`, `git`, `cms`, `hosts`, `groups`, `register`, `mounts`, `telegram-auth`, `service`, `hostd`, `verify`, `preflight`, `upstream`, `skills-memory`. diff --git a/infra/packages/host-baseline.txt b/infra/packages/host-baseline.txt index 71f2ace..cc6ee0f 100644 --- a/infra/packages/host-baseline.txt +++ b/infra/packages/host-baseline.txt @@ -11,7 +11,7 @@ codex python311 uv ripgrep -fd +fd-find rsync postgresql18-client dnsmasq diff --git a/setup/environment.ts b/setup/environment.ts index a7f5bda..8866f78 100644 --- a/setup/environment.ts +++ b/setup/environment.ts @@ -47,7 +47,7 @@ const HOST_PREREQUISITE_CHECKS: Record< python311: { key: 'PYTHON3', check: () => commandExists('python3') }, uv: { key: 'UV', check: () => commandExists('uv') }, ripgrep: { key: 'RIPGREP', check: () => commandExists('rg') }, - fd: { key: 'FD', check: () => commandExists('fd') }, + 'fd-find': { key: 'FD', check: () => commandExists('fd') }, rsync: { key: 'RSYNC', check: () => commandExists('rsync') }, 'postgresql18-client': { key: 'PSQL', check: () => commandExists('psql') }, 'postgresql18-client': { key: 'PSQL', check: () => commandExists('psql') },