gacama
v4.0.0
Published
Bub's Game Capture Manager
Maintainers
Readme
Bubs' Game Capture Manager
Automatically organizes game captures by watching a specified directory for new files, saving metadata to a JSON file, and moving the files to folders based on game titles. It can retrieve the current game title from a text file, a REST API, or a provided function.
Gacama can be run without any explicit configuration, but locations can be customized environment variables:
GACAMA_DROPS: Directory to watch for new capture files (default:./drops)GACAMA_SCREENSHOTS: Path to the JSON file where metadata will be stored (default:./screenshots)GACAMA_GAME_SOURCE: Path to retrieve the current game title, either a file path or URL that begins with "http" - this will be ignored if Gacama is provided an external function to use for this (default:[drops]/game.txt)
Development Details
Basic node.js project. Heavy use of the fs module for file system operations, and chokidar for watching the drops directory. Claude Code was used for some initial scaffolding and when debugging is not obvious, but most code was written by hand. All code was reviewed and edited by a human.
Testing
Uses native test runner. npm test will run unit tests, npm run test:e2e will run end-to-end tests.
Development Practices
- Test-Driven Development (TDD) is followed, meaning that tests are written before implementation code.
- Simplicity is prioritized in implementations, with a focus on meeting requirements without unnecessary complexity.
- Code is reviewed and edited by a human to ensure quality and correctness, especially for critical sections of the codebase.
- Care is taken to ensure low-dependency on external libraries, with a preference for native Node.js modules where possible.
