Skip to content

feat(transmission-filebot): import into mac-server-setup#108

Merged
smartwatermelon merged 6 commits intomainfrom
claude/import-transmission-filebot-20260403
Apr 3, 2026
Merged

feat(transmission-filebot): import into mac-server-setup#108
smartwatermelon merged 6 commits intomainfrom
claude/import-transmission-filebot-20260403

Conversation

@smartwatermelon
Copy link
Copy Markdown
Owner

Summary

Phase 2 of the repo consolidation plan (docs/plans/2026-04-03-repo-consolidation.md).

Files added

  • app-setup/templates/transmission-done.sh — core media processing script (TEST_MODE stripped)
  • app-setup/transmission-filebot-setup.sh — pipeline configuration wizard
  • app-setup/templates/process-media.command — manual invocation wrapper
  • app-setup/templates/config.yml.template — pipeline config template
  • run_tests.sh — BATS test runner
  • tests/transmission-filebot/ — 114 BATS tests (84 unit + 30 integration)
  • docs/apps/transmission-filebot-README.md — operational reference
  • docs/apps/transmission-filebot-automator.md — Automator drag-and-drop guide

Removed

  • app-setup/templates/transmission-done-template.sh — stub superseded by full import
  • transmission-filebot/.github/workflows/ — covered by mac-server-setup CI

Test plan

  • All 114 BATS tests pass (84 unit + 30 integration)
  • All 27 existing plex-watchdog tests pass
  • shellcheck clean on all imported .sh files
  • shfmt clean
  • markdownlint clean
  • Path audit: no broken references
  • Placeholder convention: config.yml.template uses CONVENTION
  • CI passes (includes new BATS job)

🤖 Generated with Claude Code

Claude Code Bot and others added 4 commits April 3, 2026 14:17
Import all Transmission-FileBot media processing pipeline files from the
transmission-filebot repository, with integration fixes applied. Files
placed per the consolidation plan
(docs/plans/2026-04-03-repo-consolidation.md).

Imported from smartwatermelon/transmission-filebot (to be archived).

Import and integration changes:
- transmission-done.sh: stripped inline TEST_MODE infrastructure
  (~200 lines); kept TEST_RUNNER mode for BATS; simplified entry point
- install.sh → transmission-filebot-setup.sh: path updated for templates/,
  config file now written with mode 600 (contains Plex auth token)
- test_helper.bash: SCRIPT_DIR updated via REPO_ROOT (two levels up)
- run_tests.sh: paths updated to tests/transmission-filebot/
- config.yml.template: placeholders follow __CONVENTION__
- process-media.command: fixed set -e preventing exit code capture
- .gitignore: transmission-done.sh now tracked, config.yml excluded
- Removed transmission-done-template.sh stub (superseded)
- Automator doc: fixed command injection, removed hardcoded paths
- CLAUDE.md → docs/apps/transmission-filebot-README.md

All 114 BATS tests pass. All 27 plex-watchdog tests pass.
AI review: code-reviewer (chunked, 21/22 files)

Dropped: .github/workflows/, TEST_MODE inline tests (known debt, #105).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add BATS job to ci.yml that runs all .bats tests using find (not
globstar, which doesn't recurse in GH Actions bash). Resolves #104.

Also adds 'tests' change detection filter to trigger on .bats files,
test infrastructure changes, and changes to scripts under test.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
BATS tests should also run when .sh files change (not just .bats and
test infrastructure), since a script change without a test change could
break tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Post-push loop iteration 1:
- plex-watchdog.bats: override CONFIG_DIR in source_watchdog_functions
  so tests don't use $HOME/.config/ (doesn't exist in CI runners);
  declare BATS_TEST_FILENAME for shellcheck (BATS runtime variable)
- transmission-filebot-README.md: add language tags to 2 unfenced code blocks

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Post-push loop iteration 2: source_ctl_functions had the same CI issue
as source_watchdog_functions — the ctl template sets CONFIG_DIR to
$HOME/.config/ which doesn't exist on CI runners. Override with test
temp directory.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove CLAUDE.md from .gitignore so it's tracked in the repo
- Add priority environment detection section: check hostname and user
  to determine dev machine vs TILSIT server, with behavior table
- Instructs Claude to never modify running services without permission

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@smartwatermelon
Copy link
Copy Markdown
Owner Author

Sentry/Seer findings addressed

All inline findings from Seer Code Review are pre-existing issues in the imported transmission-filebot codebase (not regressions from this PR). Each has been filed as a tracking issue:

CI is green (141/141 BATS tests pass, all lint jobs pass). These findings are tracked for future resolution.

@smartwatermelon smartwatermelon merged commit 915ece5 into main Apr 3, 2026
25 checks passed
@smartwatermelon smartwatermelon deleted the claude/import-transmission-filebot-20260403 branch April 3, 2026 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BATS CI snippet uses globstar which is not enabled by default in GitHub Actions bash

1 participant