fux-maintain

Keeps a Fux search index current using git hooks, a freshness daemon, and merge drivers.

1|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/arpitarya/fux --skill fux-maintain-arpitarya
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: fux-maintain
Source: https://github.com/arpitarya/fux/tree/main/.agents/skills/fux-maintain
Command: npx skills add https://github.com/arpitarya/fux --skill fux-maintain-arpitarya

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? A committed Fux search index goes stale the moment content changes and conflicts when two branches touch the same shard. This Skill keeps the index current by wiring git hooks, running a URL freshness daemon, checking drift, and resolving merge conflicts in .fux/index without hand-editing JSONL shards. ## Core Features & Use Cases - Git hook management: Install, inspect, and uninstall post-commit, post-merge, and post-checkout hooks plus the fux-merge-index merge driver, with JSON status output that never installs anything. - Freshness daemon: Start, monitor, and stop a background process that re-fetches listed URLs on a timer and writes the index directly. - Drift detection and CI gating: Run fux ingest --check for read-only drift reports and set up CI that proves the committed index matches the content. - Merge conflict resolution: Resolve .fux/index shard conflicts by taking one side whole, then re-deriving the index with fux ingest. - Use Case: A teammate reports a merge conflict in .fux/index after merging two branches. You check out one side of the conflicted shards, complete the merge, run fux ingest, and commit the regenerated index. ## Quick Start Ask the agent to check whether the fux hooks are wired in this repository and report the JSON status.

Frequently Asked Questions about fux-maintain

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I keep a Fux index up to date automatically?▼

Run `fux hooks` to install post-commit, post-merge, and post-checkout hooks plus the fux-merge-index merge driver. The post-commit hook spawns a detached background re-index after each commit, and you commit the rewritten `.fux/index` as a follow-up commit.

How do I resolve a merge conflict in .fux/index?▼

Never hand-edit the JSONL shards. Check out one side whole with `git checkout --ours`, finish the merge, then run `fux ingest` to re-derive every record from the merged content and commit the regenerated index.

Why did the fux post-commit hook not run after my commit?▼

Hooks silently skip when `fux` is not on the PATH git uses, such as when fux lives in an unactivated virtualenv. Each hook starts with a `command -v fux` guard that exits 0 when the binary is missing.

Does fux ingest --check fail CI when the index is stale?▼

No, `fux ingest --check` always exits 0 by design, even when drift is found. Gate CI on the `drifted` array in its `--json` output being empty, or rebuild the index and assert `git status --porcelain` is clean.

What does the fux daemon do and when should I start it?▼

The daemon re-fetches every listed URL on a timer (default every 60 minutes) so URL sources stay fresh even when nobody queries them. Start it only when explicitly asked, since it leaves a running process that touches the network.