Skip to content

Latest commit

 

History

History
40 lines (31 loc) · 1.28 KB

File metadata and controls

40 lines (31 loc) · 1.28 KB

Contributing to XArc

Contributions are welcome. Keep changes focused, dependency-light, and safe for private local archives.

Development setup

Use Linux or WSL with Python 3.11 or newer and SQLite FTS5. The runtime has no third-party dependencies.

python3 -m venv .venv
. .venv/bin/activate
python -m pip install --editable .

Before submitting a change

  1. Add or update tests using only synthetic archives created in temporary directories. Never copy records, IDs, paths, configuration, or generated files from a real archive into the repository.

  2. Preserve the compatibility packages (askclaw_x_archive and x_archive_index) unless a documented breaking release removes them.

  3. Run the release checks:

    python3 -m unittest discover -s tests -v
    python3 -m compileall -q xarc_cli askclaw_x_archive x_archive_index tests skills
    python3 -m xarc_cli --help
    python3 -m askclaw_x_archive --help
    python3 -m x_archive_index --help
    git diff --check
  4. Review the diff for private paths, credentials, archive IDs, generated databases, exports, caches, and local configuration.

Document user-visible behavior and keep stdout machine-readable where commands support --json. Use stderr and meaningful nonzero exit codes for expected errors.