Files
Daniele c27da4e6ab
Nightly Build / build (push) Successful in 8m6s
feat(skills): rebuild the skill system for the multi-user model
Per blueprint/skill-project.md: the old single-namespace, hand-maintained
index is gone, replaced by a read-only, two-scope tree whose index is a
runtime function of its content.

- skills/ index generated at runtime (crates/skald-core/src/skills/:
  inventory, install, validate, watch), injected through the new
  <!-- SKILLS_LIST --> placeholder in AGENT.md (agents/common/skills.md);
  meta.json inject_skills flag removed. 11 chat/task agents carry the
  include, the 4 system agents do not.
- Two trees, both read-only in both directions: skills/shared/{id} (the
  group's) and skills/{username}/{id} (one member's own, on the stable
  userid). The root is closed too: UserFs::SkillMounts + RouteError (alias
  probe, plain-denied paths, no home fallback) and a per-user
  .skills-root/{userid} container mount with the two scope mounts nested
  inside, plus the fifth self-heal axis (skills_mounted).
- Agent verbs: skill_register/skill_delete (Config group, global scope
  behind the new skill.manage capability), fetch_repo for public repos,
  list_items(type="skills"); reads are plain read_file on the printed
  path. Seeded @fs_read skills/* allow.
- Freshness: a digest-gated watcher on the two trees emits
  SystemEvent::SkillsChanged, whose subscriber rebuilds the frozen prompt
  prefix via Skald::invalidate_prompt_prefix; in-process writers invalidate
  directly.
- The build ships no skills: the three bundled skills (ics2json,
  mcp-builder, skill-creator) and skills/index.md are removed, skills/ is
  instance data (gitignored, not packaged, no longer pruned by update.sh).
- Docs: skills.md, agents.md, shared-folders.md added; docs/index.md and
  agents/README.md updated.
2026-08-08 23:05:35 +01:00

82 lines
3.6 KiB
Plaintext

# ── Runtime config & secrets ──────────────────────────────────────────────────
# Copy of default.config.yaml with real API keys — never commit
/config.yml
/config/
config.yml.bak
blueprint/
/.understand-anything
# ── Database & runtime data ───────────────────────────────────────────────────
/database/
# Per-user container home dirs ({WD}/homes/{userid}) — instance data, not source
/homes/
# Read-only memory signposts mounted into every container; regenerated at boot
# from the consts in crates/skald-core/src/container/mod.rs
/.memory-signpost/
# SQLite WAL-mode sidecar files (journal_mode=WAL)
*.db-wal
*.db-shm
*.db-journal
/data/
/logs/
/tmp/
/scripts/
# Connector folders installed from the marketplace — instance data, like homes/
# and database/, not source. See crates/skald-core/src/mcp/install.rs
/connectors/
# ── Rust build artifacts ──────────────────────────────────────────────────────
/target/
/deploy/
# Binary installed by ./build.sh, executed by ./run.sh
# ── Build output ──────────────────────────────────────────────────────────────
/dist/
/bin/
# ── Python environment ────────────────────────────────────────────────────────
/.venv/
__pycache__/
*.pyc
*.pyo
# ── Node / WhatsApp bridge ────────────────────────────────────────────────────
node_modules/
# whatsapp-web.js local auth & cache
.wwebjs_auth/
.wwebjs_cache/
# ── LLM models (large binary files) ──────────────────────────────────────────
/models/
# ── Uploads ───────────────────────────────────────────────────────────────────
/uploads/
# ── macOS ─────────────────────────────────────────────────────────────────────
.DS_Store
# ── Skills (blueprint: skill system) ──────────────────────────────────────────
# The build ships no skills: every one of these directories is instance data,
# filled only by what a member registers. `skills/` is the group-wide tree,
# `skills-users/{userid}/` a member's own, and `.skills-root/{userid}/` the
# read-only mount that carries the signpost plus the two scope mountpoints
# (regenerated at every container `ensure` from the consts in
# crates/skald-core/src/container/mod.rs).
/skills/
/skills-users/
/.skills-root/
# ── Editors & IDEs ────────────────────────────────────────────────────────────
.claude/
.idea/
.vscode/
*.swp
*.swo
run-log.sh
/backup.sh
/reset.sh
debug/
# Honcho Docker secrets
honcho/.env
# Istanza personale — non nel repo
honcho-local/