heph: dev/installed isolation — mise run dev task + install how-to
Some checks failed
Build / validate (pull_request) Failing after 10m32s

- mise-tasks/dev runs the working-tree hephd on isolated .dev/ paths (gitignored)
  so in-repo development never touches the installed daemon's data; point a dev
  nvim at it via HEPH_SOCKET/HEPH_DB.
- docs/how-to/install-heph.md: install heph/hephd from the forge (build from
  source), the lazy.nvim `dir` setup for the subdir plugin, and dev isolation.
- gitignore .dev/ and the transient .claude scheduled-task state.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erich Blume 2026-06-02 09:39:59 -07:00
commit 652d2e89e6
5 changed files with 115 additions and 0 deletions

26
mise-tasks/dev Executable file
View file

@ -0,0 +1,26 @@
#!/usr/bin/env bash
#MISE description="Run a development hephd on isolated .dev/ paths (never touches the installed daemon's data)"
# Dev/installed isolation: the installed heph owns the default XDG socket+DB
# (your real data); this runs the dev working-tree daemon on a separate socket
# and DB under .dev/ (gitignored). Point a dev Neovim at it with:
#
# HEPH_SOCKET="$PWD/.dev/hephd.sock" HEPH_DB="$PWD/.dev/heph.db" nvim
#
# (the plugin reads those envs), so dev edits never reach the installed store.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
mkdir -p .dev
SOCK="$ROOT/.dev/hephd.sock"
DB="$ROOT/.dev/heph.db"
echo "dev hephd → socket $SOCK"
echo " db $DB"
echo "point a dev nvim at it: HEPH_SOCKET=$SOCK HEPH_DB=$DB nvim"
echo
exec cargo run -p hephd -- --mode local --socket "$SOCK" --db "$DB"