Add AGENTS.md with project overview, usage instructions, and dependencies
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sun, 22 Feb 2026 17:35:24 +0000 (19:35 +0200)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sun, 22 Feb 2026 17:35:24 +0000 (19:35 +0200)
AGENTS.md [new file with mode: 0644]

diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644 (file)
index 0000000..38c3050
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,71 @@
+# MeWiz - Media Wizard
+
+A Java/Maven project - a Swiss army knife of various tools for audio, video, and photo editing/conversion.
+
+## Project Structure
+
+```
+src/main/java/eu/svjatoslav/meviz/
+├── Main.java              # Entry point, module dispatcher
+├── Module.java            # Interface for all modules
+├── encoder/               # Media encoding/conversion module
+├── htmlindexer/           # HTML gallery generator module
+├── renamer/               # Batch file rename module
+├── replace/               # Text replacement module
+└── bomremove/             # BOM stripping module
+```
+
+## Build Commands
+
+```bash
+# Clean build
+mvn clean package --settings .mvn/custom-settings.xml
+
+# Build without custom settings (may fail for some dependencies)
+mvn clean package
+
+# Run tests (if any)
+mvn test
+```
+
+## Running
+
+```bash
+# After building, run the JAR directly
+java -cp target/meviz-*-jar-with-dependencies.jar eu.svjatoslav.meviz.Main
+
+# Or use the convenience script (requires installation)
+meviz <command>
+
+# Available commands:
+# - index     : Generate/update HTML image gallery
+# - rename    : Batch file rename
+# - replace   : Text replacement
+# - encode    : Media encoding/conversion
+# - bomremove : Strip BOM from files
+# - help      : Show help
+```
+
+## Dependencies
+
+- Java 8+
+- Maven
+- External tools (for full functionality):
+  - `lame` - MP3 encoding
+  - `vorbis-tools` - OGG audio
+  - `imagemagick` - Image processing
+  - `ffmpeg` - Video/audio conversion
+
+## Code Style
+
+- Standard Java conventions
+- Package prefix: `eu.svjatoslav.meviz`
+- Each module implements the `Module` interface with methods:
+  - `getModuleCommand()` - CLI command name
+  - `getDescription()` - Brief description
+  - `run(String[] args)` - Execute module
+  - `showCommandlineHelp()` - Display help
+
+## Installation
+
+See `install` script for system-wide installation (requires sudo).