Commit graph

10 commits

Author SHA1 Message Date
5b78165e33 Rework edit command to open plist in $EDITOR
Instead of a CLI for editing plist arguments programmatically, the edit
command now opens the plist file directly in the user's $EDITOR (falls
back to vi). This provides more flexibility for editing any plist field.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-13 09:02:48 -08:00
bb704d24ea Add script entry point for uvx installation
Fixes "Package does not provide any executables" error when running
uvx git+https://...

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 16:55:46 -08:00
a56132bdbc Add CLAUDE.md for Claude Code guidance
Provides build/test commands, architecture overview, and development
workflow notes including green-red-green testing cycle.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 16:53:43 -08:00
5934ba6702 Fix url, using forgejo now 2026-01-12 16:48:17 -08:00
a50ed6b774 Fix hallucinated quote, and check some stuff in 2026-01-11 20:13:25 -08:00
34e63c41c4 Add quack easter egg and development docs
Add a hidden 'quack' command that displays DuckTales ASCII art of
Launchpad McQuack. Also document the development workflow in README,
including how to run tests with uv and the optional venv setup.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 20:09:07 -08:00
aaaf9dac20 Add pre-commit hooks with ty type checking
Set up pre-commit with basic hooks (trailing whitespace, end-of-file,
large files) and ty for type checking via uvx. Fix type error in test
where root.find() could return None.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 19:51:34 -08:00
c601514e3d Add tests and docs for '--' argument separator requirement
- Add TestArgumentSeparator class with 8 tests verifying that script
  arguments must come after '--' separator
- Update create and edit command docstrings with examples showing
  correct usage of '--' separator
- Update argument help text to indicate "(must come after '--')"
- Add "Passing Arguments to Your Script" section to README

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 19:45:54 -08:00
c7a0b04573 Add uv package structure and pytest test framework
Set up mcquack as a proper uv package with flat layout (no src/ directory).
Uses hatchling build backend to support single-file module structure.
Added pytest as dev dependency with fixtures for testing against
temporary directories instead of actual macOS LaunchAgent paths.

- Rename list() to list_agents() to avoid shadowing builtin (Python 3.14 compat)
- Add mock_dirs fixture that monkeypatches LAUNCH_AGENTS_DIR and LOGS_DIR
- Add mock_script and mock_launchctl fixtures
- 26 tests covering list, create, edit, show, delete commands
- Parameterized tests for argument handling
- XML validation tests independent of plistlib

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 19:18:17 -08:00
0bcb1b8785 Initial commit 2026-01-11 18:22:16 -08:00