Skip to content

Contributing

Developer Installation

The GitHub repository requires collaborator access. Public release source distributions are available on PyPI and include the package, frontend, desktop, tests, and build scripts. For normal use, follow the one-command setup. To work on Aesop itself, unpack a source distribution and start with environment creation below, or clone if you have access.

git clone https://github.com/ColinConwell/Aesop-Agentic.git
cd Aesop-Agentic
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
# Only when creating a new configuration:
aesop setup
aesop preferences --ui browser
python -m unittest discover -s tests -v

The tests use synthetic fixtures and temporary directories. Native launcher tests run on macOS. Do not use a personal archive as a test fixture or commit operational logs, account exports, or authentication profiles.

Documentation Preview

python -m pip install -r requirements-docs.txt
python -m mkdocs serve

Open the local URL printed by MkDocs. Content lives in docs/, navigation and theme settings in mkdocs.yml, and the small branding stylesheet in docs/stylesheets/extra.css. Use the transparent docs/assets/archive-emblem.png for documentation and README insertions. docs/assets/icon-light.png remains a compatibility alias for the image URL embedded in the 0.4.0 PyPI description; installed app icons are separate package resources. Use title case for headings and precise descriptions of coverage limits.

Before submitting documentation changes:

python -m mkdocs build --strict

Keep audits, agent transcripts, and release scratch files under the ignored .local/ directory, outside the public docs. Project instructions live in instructions/.

Browser and Desktop Assets

npm --prefix frontend ci
npm --prefix frontend run build

The Vite build writes packaged static files into aesop_agentic/web_assets/. Commit refreshed assets with UI changes. See Interfaces for the optional desktop build, and Release Process for package checks and workflow testing.

When reporting parser problems, provide the source/version, the reported coverage state, and a small redacted or synthetic reproducer. A new adapter should preserve raw evidence, exclude known credentials, validate its schema, and distinguish unknown, empty, truncated, and malformed records.