Voinal / AGENTS.md
GovIndLok
Add contributor guide
a754df9
|
Raw
History Blame Contribute Delete
2.35 kB
# Repository Guidelines
## Project Structure & Module Organization
- `app.py` is the Gradio entrypoint. It calls the local Ollama model, runs TTS, and serves the UI on `127.0.0.1:7860`.
- `synth.py` contains the audio-processing pipeline that transforms a WAV file into the droid-style output.
- `pyproject.toml` defines the project metadata and Python version requirement (`>=3.12`).
- The repository currently has no dedicated `tests/`, `assets/`, or package directories, so keep new modules small and colocated until the structure grows.
## Build, Test, and Development Commands
- `python app.py` starts the local web app.
- `python synth.py` runs the synthesizer against `input.wav` and writes `output.wav` for quick audio checks.
- `python -m pip install gradio ollama numpy scipy` installs the runtime dependencies used by the current code.
- There is no formal build step yet; if packaging is added later, keep the command in `pyproject.toml` and document it here.
## Coding Style & Naming Conventions
- Use standard Python 3.12 style: 4-space indentation, snake_case for functions and variables, and ALL_CAPS only for constants.
- Prefer short, explicit helper functions over large inline blocks. Keep file names lowercase with underscores when adding modules.
- Match the existing pragmatic style: minimal abstraction, direct control flow, and comments only where the audio logic is non-obvious.
## Testing Guidelines
- No automated test framework is currently configured.
- When adding tests, place them under `tests/` and name them `test_*.py`.
- For now, verify changes manually by running `python synth.py` and the Gradio app, then confirming the generated WAV plays correctly.
## Commit & Pull Request Guidelines
- Recent commit messages are short, lowercase, and imperative or descriptive, such as `add config.toml for Codex git commit settings`.
- Keep commits focused on one change and avoid bundling unrelated refactors.
- Pull requests should explain the user-visible change, list any local verification performed, and include screenshots or sample audio when UI or sound output changes.
## Configuration Notes
- This app expects a local Ollama server and `espeak-ng` to be available on the PATH.
- Temporary WAV files are created during generation and cleaned up automatically; avoid committing generated audio artifacts.