Build TUI, web, desktop UI and runnable agent products from explicit prepared inputs. Keep dependency preparation separate from distribution packaging, with PM and native builds sharing uv environment construction. Docker copies compiled frontend products instead of build dependencies. Nix retains uv2nix environments and consumes shared assembly through store references. Native desktop and Termux use the same launcher and frontend contracts. Preserve the independent PM runtime and source imports from arbitrary working directories. Keep failed frontend builds from replacing the previous product, reject source/output overlap, and bound dependency-process output draining. Include hermes_wisdom in the Nix wheel: real CLI smoke tests exposed its missing package declaration on the base revision too. Verified focused Python and JavaScript suites, Docker build/runtime checks, Nix desktop and CLI/ACP checks, standalone TUI and packaged Electron PTY, and real full-Chromium interaction. Native signed installers, Android device installation and the full repository suite remain CI verification.
131 lines
2.5 KiB
Plaintext
131 lines
2.5 KiB
Plaintext
# Git
|
|
.git
|
|
.gitignore
|
|
.gitmodules
|
|
|
|
# Python
|
|
__pycache__
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
*.egg-info/
|
|
dist/
|
|
build/
|
|
!scripts/build/
|
|
!scripts/build/**
|
|
|
|
# Virtual environments
|
|
venv/
|
|
env/
|
|
ENV/
|
|
|
|
# Dependencies
|
|
node_modules
|
|
**/node_modules
|
|
.venv
|
|
**/.venv
|
|
.notebooklm-cli-venv/
|
|
.notebooklm-playwright/
|
|
.pip-cache/
|
|
.uv-cache/
|
|
.cache/
|
|
.build/
|
|
|
|
# Built artifacts that are regenerated inside the image. Excluded so local
|
|
# rebuilds on the developer's machine don't invalidate the npm-install layer
|
|
# that now depends on the full ui-tui/packages/hermes-ink/ tree being present.
|
|
ui-tui/dist/
|
|
ui-tui/packages/hermes-ink/dist/
|
|
|
|
# CI/CD
|
|
.github
|
|
|
|
# Environment files
|
|
.env
|
|
.env.*
|
|
# ...but keep the template: docker/stage2-hook.sh seeds $HERMES_HOME/.env from
|
|
# /opt/hermes/.env.example on first boot (OOF-285 — excluding it silently broke
|
|
# first-boot .env seeding and the API_SERVER_KEY generation that depends on it).
|
|
!.env.example
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
|
|
# Testing
|
|
.pytest_cache/
|
|
.coverage
|
|
htmlcov/
|
|
|
|
# Documentation
|
|
*.md
|
|
!skills/**/*.md
|
|
!optional-skills/**/*.md
|
|
|
|
# Runtime data (bind-mounted at /opt/data; must not leak into build context)
|
|
data/
|
|
.hermes-docker/
|
|
.notebooklm-home/
|
|
|
|
# Compose/profile runtime state (bind-mounted; avoid ownership/secret issues)
|
|
hermes-config/
|
|
runtime/
|
|
|
|
# ---------- Not needed inside the Docker image ----------
|
|
|
|
# Desktop app source (Tauri/Electron); never installed in the container.
|
|
# apps/shared is the dashboard↔desktop websocket helper and is linked from
|
|
# web/package.json as a file: workspace dep — keep it in the build context.
|
|
apps/
|
|
!apps/shared/
|
|
!apps/shared/**
|
|
|
|
# Test suite — not shipped in production images
|
|
tests/
|
|
|
|
# Documentation site (Docusaurus) and supplementary docs
|
|
website/
|
|
docs/
|
|
|
|
# Keep the source artwork needed by web's icon-generation prebuild.
|
|
assets/
|
|
!assets/
|
|
assets/*
|
|
!assets/nous-girl-black.svg
|
|
!assets/nous-girl-white.svg
|
|
!assets/backgrounds/
|
|
assets/backgrounds/*
|
|
!assets/backgrounds/squircle-light.svg
|
|
!assets/backgrounds/squircle-dark.svg
|
|
infographic/
|
|
|
|
# Plugin-level docs (hermes-achievements ships docs/ but the runtime doesn't read them)
|
|
plugins/hermes-achievements/docs/
|
|
|
|
# Nix / Homebrew / AUR packaging metadata — irrelevant to Docker
|
|
nix/
|
|
flake.nix
|
|
flake.lock
|
|
packaging/
|
|
|
|
# Design and planning documents
|
|
plans/
|
|
.plans/
|
|
.hermes/
|
|
|
|
# Repo-level dotfiles that are git-only or dev-tooling config
|
|
.envrc
|
|
.gitattributes
|
|
.hadolint.yaml
|
|
.mailmap
|
|
|
|
# Debug/export artifacts — must never reach image layers (COPY . .)
|
|
/log.txt
|
|
/sqlite_leak_fix.png
|
|
/*.png.bak
|
|
*.tar.gz
|
|
*.tgz
|