mirror of
https://github.com/runbear-io/beardrive.git
synced 2026-08-25 08:08:08 +02:00
- sfs-web (cmd/sfs-web, internal/webapp): read-only Obsidian-style web UI serving a local folder (default) or an sfs remote; markdown rendering with [[wikilinks]], task lists and tables, file downloads with ETags, per-file provenance from the journals; added to goreleaser builds - .sfs project file (internal/config): per-folder volume/remote/include settings that travel with the folder, win over the global registry, and never sync; daemon picks up edits live - .sfsignore + include lists (internal/syncer): gitignore-style selective sync with ! re-includes, applied symmetrically in scan and materialize; newly ignored files stop syncing without being deleted anywhere - Claude Code plugin (plugin/, .claude-plugin/): sfs skill, /sfs:mount and /sfs:status commands, turn-boundary sync hooks (blocking pull on prompt, async push on stop); installable via the repo's marketplace manifest - CLAUDE.md and .claude project settings for Claude Code development Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HHEUaYfFHhmDvqLYw74Ehz
11 lines
443 B
Bash
Executable File
11 lines
443 B
Bash
Executable File
#!/bin/sh
|
|
# Sync the current project if it is an sfs mount (has a .sfs settings file).
|
|
# Fast no-op otherwise, so this hook is safe on every turn in every project.
|
|
#
|
|
# Runs blocking on UserPromptSubmit (fresh files before Claude reads them)
|
|
# and async on Stop (push edits out without delaying the turn).
|
|
cd "${CLAUDE_PROJECT_DIR:-.}" || exit 0
|
|
[ -f .sfs ] || exit 0
|
|
command -v sfs >/dev/null 2>&1 || exit 0
|
|
sfs sync . >/dev/null 2>&1 || true
|