diff --git a/.github/workflows/mirror-to-gitlab.yml b/.github/workflows/mirror-to-gitlab.yml index e8ad9490..ec6770cc 100644 --- a/.github/workflows/mirror-to-gitlab.yml +++ b/.github/workflows/mirror-to-gitlab.yml @@ -32,6 +32,6 @@ jobs: # Push the current branch BRANCH_NAME="${GITHUB_REF#refs/heads/}" echo "Pushing branch: ${BRANCH_NAME}" - git push gitlab "HEAD:refs/heads/${BRANCH_NAME}" --force + git push gitlab "HEAD:refs/heads/${BRANCH_NAME}" echo "Successfully mirrored to GitLab" diff --git a/CLAUDE.md b/CLAUDE.md index 9771c90e..017a9313 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,6 +8,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co 1.1. **Entry Points** (`cmd/`) 2. **Frontend code** (`ui/`) +## Development Environment +For ZFS-FUSE setup in Claude Code browser environment, see CONTRIBUTING.md ("ZFS-FUSE for Claude Code" section). + ## Build/Test/Lint Commands - Build all components: `cd engine && make build` - Lint code: `cd engine && make run-lint` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4d399f35..4d755118 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -313,6 +313,28 @@ Components have a separate version, denoted by either: ``` - Install `golangci-lint`: https://github.com/golangci/golangci-lint#install +#### ZFS-FUSE for Claude Code (browser environment) +When developing in Claude Code's browser-based environment (gVisor sandbox), kernel ZFS modules are unavailable. Use ZFS-FUSE instead: + +```bash +# Download packages from Debian (network to Ubuntu repos may be restricted) +mkdir -p /tmp/zfs-install && cd /tmp/zfs-install +curl -sLO "https://deb.debian.org/debian/pool/main/z/zfs-fuse/zfs-fuse_0.7.0-33_amd64.deb" +curl -sLO "https://deb.debian.org/debian/pool/main/f/fuse3/fuse3_3.17.2-3_amd64.deb" +curl -sLO "https://deb.debian.org/debian/pool/main/f/fuse3/libfuse3-4_3.17.2-3_amd64.deb" +curl -sLO "https://deb.debian.org/debian/pool/main/liba/libaio/libaio1t64_0.3.113-8+b1_amd64.deb" + +# Install packages +sudo dpkg -i libaio1t64_*.deb libfuse3-4_*.deb fuse3_*.deb zfs-fuse_*.deb + +# Start daemon and create a file-backed pool +sudo zfs-fuse -n & +truncate -s 500M /tmp/zfs-disk.img +sudo zpool create -f testpool /tmp/zfs-disk.img +``` + +Note: Pool/snapshot/clone operations work, but FUSE mounting may fail due to gVisor limitations. This is sufficient for testing ZFS metadata operations. +