๐Ÿฆž NanoClaw โ†’ Clawdie on FreeBSD 15

Version tracking โ€” from NanoClaw base to Clawdie with FreeBSD setup

Last updated: 06.03.2026  ยท  โ† Back to Clawdie PRD

๐Ÿ“Š Base Version

Component Version Source
NanoClaw main branch github.com/openclaw/nanoclaw
Base commit Tracked in .nanoclaw/state.json

๐Ÿ”ง Applied Skills (Customizations)

Skills transform the base NanoClaw into Clawdie:

Skill Status Description
/add-telegram โœ“ Applied Telegram channel support
/add-voice-transcription โœ“ Applied Whisper voice note transcription
/add-gmail โœ“ Applied Gmail integration
/add-slack โœ“ Applied Slack channel support
/add-discord โœ“ Applied Discord channel support
/add-telegram-swarm โœ“ Applied Agent swarm teams in Telegram
/x-integration โœ“ Applied X (Twitter) posting/replying
/convert-to-apple-container โœ“ Applied Apple Container runtime
/qodo-pr-resolver โœ“ Applied AI-powered PR review
/get-qodo-rules โœ“ Applied Load coding rules from Qodo

๐Ÿ˜ˆ FreeBSD 15 Setup

System Requirements

Requirement Value
OS FreeBSD 15.0-RELEASE
Hostname osa
Architecture amd64 (x86_64)
Runtime FreeBSD Jail (native)
Node.js v24+ (via pkg or nvm)
Python 3.12.12 + uv package manager
Filesystem ZFS
User clawdie

Current ZFS Setup

NAME                       USED  AVAIL  REFER  MOUNTPOINT
zroot                     6.01G  89.4G   424K  none
zroot/ROOT                5.83G  89.4G   424K  none
zroot/ROOT/default        5.83G  89.4G  4.90G  /
zroot/home                 152M  89.4G   156K  /home
zroot/home/clawdie         152M  89.4G   152M  /home/clawdie
zroot/tmp                 3.07M  89.4G  3.07M  /tmp
zroot/var                 11.8M  89.4G   424K  /var

Installation

1. Create ZFS Dataset for Jail

# Create jail dataset (using ZFS for snapshots and quotas)
sudo zfs create -o mountpoint=/jails zroot/jails
sudo zfs create zroot/jails/clawdie
sudo zfs create zroot/jails/clawdie/home

# Verify
zfs list | grep clawdie

2. Create Jail Configuration

# Create jail configuration
sudo vi /etc/jail.conf.d/clawdie.conf

Add:

clawdie {
  host.hostname = "ai.clawdie.si";
  ip4.addr = 192.168.1.xxx;
  path = "/jails/clawdie";
  mount.fstab = "/etc/fstab.clawdie";
  mount.devfs;
  devfs_ruleset = 4;
  exec.start = "/bin/sh /etc/rc";
  exec.stop = "/bin/sh /etc/rc.shutdown";
}

3. Install FreeBSD Base

# Download and extract base system
cd /tmp
fetch http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/15.0-RELEASE/base.txz
sudo tar -xpf base.txz -C /jails/clawdie

4. Configure Mount Points

# Create fstab for jail mounts
sudo vi /etc/fstab.clawdie

Add:

/home/clawdie  /jails/clawdie/home/clawdie  nullfs  rw  0  0

5. Start Jail and Install Dependencies

# Enable jails at boot
sudo sysrc jail_enable=YES

# Start jail
sudo service jail start clawdie

# Verify jail is running
jls

# Install packages inside jail
sudo pkg -j clawdie install node24 npm git python312 py312-uv

# Enter jail
sudo jexec clawdie /bin/sh

6. Verify Python and Node.js

# Inside jail - verify installations
python --version
# Python 3.12.12

uv --version
# uv 0.x.x

node --version
# v24.x.x

7. Setup NanoClaw Inside Jail

# Inside jail
cd /home/clawdie
git clone https://codeberg.org/clawdie/clawdie.git nanoclaw
cd nanoclaw

# Install dependencies (using uv for Python packages if needed)
npm install
npm run setup

Known Limitations on FreeBSD

โš™๏ธ Configuration Differences

Setting NanoClaw Default Clawdie Custom
Main channel WhatsApp Telegram
Date format en-US locale de-DE locale (European)
Memory Local files Supabase (planned)
Identity None SOUL.md + IDENTITY.md
Operator console Logs only tmux glass-pane

๐Ÿ“ File Changes

Modified from Base

File Change
src/index.ts Added channel routing for Telegram, Gmail, Slack, Discord
src/config.ts Added channel configurations
src/container-runtime.ts Apple Container support
container/agent-runner/src/index.ts Voice transcription, Gmail tools
AGENTS.md European date format, custom rules

Added (Not in Base)

src/channels/telegram.ts
src/channels/gmail.ts
src/channels/slack.ts
src/channels/discord.ts
skills-engine/
.claude/skills/add-telegram/
.claude/skills/add-gmail/
.claude/skills/add-slack/
.claude/skills/add-discord/
.claude/skills/add-telegram-swarm/
.claude/skills/add-voice-transcription/
.claude/skills/x-integration/
.claude/skills/convert-to-apple-container/
.claude/skills/qodo-pr-resolver/
.claude/skills/get-qodo-rules/

๐Ÿ”„ Update Process

# Check for updates
npm run update:preview

# Apply updates (merges with skills)
npm run update

The skills engine handles rebase automatically, preserving all customizations.

๐Ÿ”— Links