Skip to content

fix: Windows deployment - broken symlinks, missing packages, dep scanner false positives#292

Merged
viettranx merged 1 commit intonextlevelbuilder:mainfrom
hafocreative-official:fix/windows-deployment
Mar 20, 2026
Merged

fix: Windows deployment - broken symlinks, missing packages, dep scanner false positives#292
viettranx merged 1 commit intonextlevelbuilder:mainfrom
hafocreative-official:fix/windows-deployment

Conversation

@hafocreative-official
Copy link
Contributor

Description

When building GoClaw from source on Windows via Docker Desktop, all 5 core skills show "Missing deps" on the Skills page. This PR fixes 3 root causes.

Changes

1. Dockerfile - Missing skill packages + Windows compatibility

  • Added packages to ENABLE_FULL_SKILLS install:
    • poppler-utils, bash (apk)
    • pdfplumber, pdf2image, anthropic (pip)
    • CRLF fix: sed -i 's/\r$//' on entrypoint script at build time
    • Symlink fix: On Windows, git clone with core.symlinks=false (default) converts symlinks to text files or drops them entirely. Skills docx/pptx/xlsx have scripts/office -> ../../_shared/office symlinks that break. The new RUN step copies _shared/office directly into each skill's scripts/ dir when the symlink is missing.

2. internal/skills/dep_scanner.go - False positive missing deps

Two issues caused the dep scanner to falsely report local modules as missing pip packages:

  • Nested subdirectories: office/helpers/ and office/validators/ are subdirectories of scripts/office/. Files inside office/ do from helpers import ... - these are intra-package imports. The scanner only tracked first-level subdirs of scripts/ as local modules, so helpers and validators were reported as pip:helpers, pip:validators.
    • Self-referencing: skill-creator scripts do from scripts import utils - referencing their own parent directory. The scanner didn't treat scripts (the dir basename) as a local module.

3. .gitattributes - Prevent CRLF in shell scripts

Ensures *.sh and docker-entrypoint.sh always use LF line endings regardless of the developer's OS.

Testing

  • Built and deployed on Windows 11 + Docker Desktop
    • All 5 core skills (docx, pdf, pptx, xlsx, skill-creator) show Active status
    • Seeder logs confirm: async dep check complete checked=5 with no skill deps missing warnings

…ner false positives

- Dockerfile: add pdfplumber, pdf2image, anthropic, poppler-utils, bash
  to ENABLE_FULL_SKILLS install
- Dockerfile: resolve broken git symlinks from Windows clone
  (core.symlinks=false converts symlinks to text files or skips them;
  _shared/office module was missing from docx/pptx/xlsx scripts dirs)
- Dockerfile: strip CRLF from docker-entrypoint.sh at build time
- .gitattributes: enforce LF line endings for shell scripts
- dep_scanner.go: track nested subdirectories as local modules
  (office/helpers, office/validators were falsely reported as pip deps)
- dep_scanner.go: treat scripts dir basename as local module
  (skill-creator's 'from scripts import' was falsely reported)

Fixes all 5 core skills showing 'Missing deps' when built on Windows.
@viettranx viettranx merged commit c9a484d into nextlevelbuilder:main Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants