Commit graph

14 commits

Author SHA1 Message Date
Jacob Magar
e27ad5e1fc feat: add bin/bump-version.sh with bats tests, rename scripts/ to bin/
- bin/bump-version.sh: one-command version bump across all four files;
  supports explicit version or major/minor/patch keywords; uses
  CLAUDE_PLUGIN_ROOT when set (hook context), dirname fallback otherwise
- tests/test_bump_version.bats: 9 bats tests covering all bump modes,
  all-files-in-sync, output format, and dirname fallback
- scripts/ renamed to bin/
- Bump 1.3.5 → 1.3.6
2026-04-05 19:09:48 -04:00
Jacob Magar
93a4ca08c6 chore: inline SessionStart hook, remove install-deps.sh, bump to 1.3.4 2026-04-05 18:57:56 -04:00
Jacob Magar
e6dc17b484 chore: add Rust/Cargo support to install-deps.sh, bump to 1.3.3 2026-04-05 18:37:50 -04:00
Jacob Magar
cd1aaa4de2 refactor: extract SessionStart hook into language-agnostic install-deps.sh
Replaces the inline uv-specific hook command with a shell script that
detects the package manager from lock files (uv, npm, yarn, pnpm) and
installs deps into CLAUDE_PLUGIN_DATA. Hook reduces to a single sh call.

Bump 1.3.1 → 1.3.2
2026-04-05 18:35:38 -04:00
Jacob Magar
8d3c431da8 chore: expose all server env vars in .mcp.json, bump to 1.3.1 2026-04-05 18:27:30 -04:00
Jacob Magar
bca66612bc feat: add SessionStart hook to install deps into persistent venv
- plugin.json: SessionStart hook diffs uv.lock against CLAUDE_PLUGIN_DATA
  copy; runs uv sync into CLAUDE_PLUGIN_DATA/.venv on first install or
  after dep changes; removes stale lockfile copy on sync failure so next
  session retries
- .mcp.json: add UV_PROJECT_ENVIRONMENT and --project flags so uv run
  uses the persisted venv without re-syncing on every startup
- tests/conftest.py: redirect hypothesis home dir and example database
  to .cache/.hypothesis to keep repo root clean
- Bump version 1.2.5 → 1.3.0
2026-04-05 18:19:50 -04:00
Jacob Magar
3619d3db88 chore: update manifests, ci, pyproject, and tests 2026-04-05 10:01:20 -04:00
Jacob Magar
391463b942 docs: comprehensive documentation and version sync (v1.2.4) 2026-04-05 03:34:19 -04:00
Jacob Magar
34c4e98ddc chore(hooks): remove SessionStart sync-env hook
sync-env.sh was exiting 1 whenever UNRAID_MCP_BEARER_TOKEN was not
configured via plugin userConfig, causing startup hook errors every
session for users not using the plugin config flow.
2026-04-03 21:25:43 -04:00
Jacob Magar
d83a6a74e4 chore: restructure README, sync versions to 1.2.2, adopt Keep a Changelog format
Compact README rewrite — removes marketing prose, replaces with minimal
tables and direct headings. Syncs .codex-plugin/plugin.json and
gemini-extension.json from stale 1.2.0 to 1.2.2. Adopts Keep a Changelog
format for CHANGELOG.md.
2026-04-03 20:10:51 -04:00
Jacob Magar
4a1a2b0519 chore: align .gitignore, remove logs/backups dirs, untrack ignored files
Standardize .gitignore across all repos with canonical sections.
Remove logs/ and backups/ directories (runtime artifacts, not tracked).
Untrack files now covered by .gitignore (.beads/, .lavra/, .omc/, etc).
2026-04-02 22:29:13 -04:00
Jacob Magar
4df14505d1 fix: address remaining PR #16 review comments
- .codex-plugin/plugin.json: add interface.displayName field required by
  lint-plugin.sh validation check
- .env.example: fix dotenv-linter key ordering across all variable groups
  (MCP settings, safety flags, Docker vars all now alphabetically sorted)
- hooks/scripts/sync-env.sh: scope lock file to CLAUDE_PLUGIN_ROOT instead
  of global /tmp/ to avoid cross-repo lock contention
2026-04-01 01:28:59 -04:00
Jacob Magar
05c188be69 fix: address PR #16 review comments — config correctness and robustness
- entrypoint.sh: only require UNRAID_MCP_BEARER_TOKEN when transport is
  not stdio and HTTP auth is not disabled (fixes false startup failures)
- docker-compose.yaml: use fixed network key `unraid-mcp-external` with
  `name: ${DOCKER_NETWORK:-unraid-mcp-external}` to avoid compose errors
  when DOCKER_NETWORK differs from the declared network name
- docker-compose.yaml: make healthcheck transport-aware — skip HTTP probe
  when UNRAID_MCP_TRANSPORT=stdio to prevent false unhealthy status
- docs/unraid.subdomain.conf: fix proxy_pass port from 3000 to 6970
- .codex-plugin/plugin.json: fix MCP URL port from 3000 to 6970
- .env.example: reorder UNRAID_API_KEY before UNRAID_API_URL (alpha);
  correct UNRAID_MCP_BEARER_TOKEN comment — required conditionally not always
- hooks/scripts/ensure-ignore-files.sh: write .gitignore atomically via
  temp file + mv to prevent truncation on interrupted rewrite
- hooks/scripts/sync-env.sh: chmod 600 .env immediately after touch,
  before any early-exit paths that could leave secrets world-readable
2026-04-01 01:17:22 -04:00
Jacob Magar
4c19364f72 chore(unraid): add codex manifests, assets, nginx conf (syk)
Add .codex-plugin/plugin.json and .app.json plugin manifests, assets/
directory with icon.png and logo.svg placeholders, and
docs/unraid.subdomain.conf SWAG nginx reverse proxy config.
2026-03-31 17:46:44 -04:00