-
Notifications
You must be signed in to change notification settings - Fork 0
Development Guide
Joe edited this page Jun 8, 2026
·
1 revision
This page is for contributors changing patch code, injected assets, tests, or docs.
git clone https://github.com/JSukar/IMVU-TOOLKIT.git
cd IMVU-TOOLKIT
python -m pip install -e ".[dev]"Run checks:
ruff check src tests
pytestBuild dependencies are separate:
python -m pip install -e ".[build]"- Prefer the unified CLI in docs and examples.
- Keep root-level legacy scripts working.
- Add patch markers for injected or rewritten content.
- Back up before writing patched IMVU files.
- Support
--restorefor mutating patch scripts. - Validate expected signatures before modifying files.
- Keep changes focused and update docs for user-visible behavior.
Main locations:
src/imvu_toolkit/patches/emoji/
emoji_assets/js/
tests/fixtures/
tests/test_emoji_patch.py
tests/test_jar_integration.py
If the emoji catalog changes, regenerate:
python -m imvu_toolkit emoji generate-listMain locations:
patches/dpi/
src/imvu_toolkit/patches/dpi/registry.py
scripts/imvu_dpi_runtime_probe.py
scripts/audit_imvu_dpi_probe.py
scripts/compare_imvu_probes.py
If a new DPI script should be exposed through the CLI, add it to
DPI_SCRIPTS in src/imvu_toolkit/patches/dpi/registry.py.
Main locations:
scripts/
src/imvu_toolkit/tools/runner.py
If a new utility should be exposed through the CLI, add it to TOOL_SCRIPTS in
src/imvu_toolkit/tools/runner.py.
Use fixture-based tests for deterministic transforms. The test suite should not require a live IMVU install.
Helpful commands:
pytest tests/test_emoji_patch.py
pytest tests/test_jar_integration.py
pytest tests/test_installer_runner.pyUpdate the wiki for workflow guidance and update the reference docs for deeper technical explanations:
docs/wiki/
docs/architecture.md
docs/dpi-patches.md
docs/compatibility.md
docs/FAQ.md
Update CHANGELOG.md under [Unreleased] for user-visible changes.