-
Notifications
You must be signed in to change notification settings - Fork 0
Developer Guide
Marty McEnroe edited this page Jan 6, 2026
·
4 revisions
Guide for contributing to Aletheia development.
- Python 3.12+
- Node.js 18+
- Poetry (Python package manager)
- Git
- AWS CLI (for backend development)
Aletheia/
├── extensions/chrome/ # Chrome Manifest V3 extension
├── extensions/firefox/ # Firefox Manifest V2 extension
├── src/ # Python backend source
│ ├── guardrails/ # Safety and content filtering
│ └── signal_inspector/ # Signal analysis logic
├── tests/ # Test suite
├── tools/ # Development utilities
├── docs/ # Documentation and ADRs
└── .github/ # CI/CD workflows
git clone https://github.com/martymcenroe/Aletheia.git
cd Aletheiapoetry installnpm installpoetry run pytest
npm run lint-
main- Production-ready code - Feature branches:
{issue-id}-short-description
- Create a feature branch from
main - Make your changes
- Run tests:
poetry run pytest - Run linting:
npm run lintandpoetry run ruff check - Commit with conventional format:
type: description (ref #ID) - Push and create a Pull Request
type: description (ref #ID)
Types:
-
feat: New feature -
fix: Bug fix -
docs: Documentation -
test: Tests -
chore: Maintenance
poetry run pytestpoetry run pytest --cov=src --cov-report=term-missingpoetry run pytest tests/test_semantic.py -v# Python
poetry run ruff check .
poetry run mypy src/
# JavaScript
npm run lint- Go to
chrome://extensions/ - Enable Developer mode
- Click "Load unpacked"
- Select
extensions/chrome/
- Go to
about:debugging - Click "This Firefox"
- Click "Load Temporary Add-on"
- Select
extensions/firefox/manifest.json
- Reload the extension after code changes
- Use browser DevTools to debug
- Check the Service Worker console for errors
Ensure AWS CLI is configured with appropriate credentials:
aws configureThe backend can be tested locally using:
poetry run python -m pytest tests/test_lambda_handler.pyBackend deployment uses AWS SAM:
sam build
sam deploy --guided- Style: Ruff for linting and formatting
- Types: Mypy for type checking
- Coverage: Minimum 70% test coverage
- Style: ESLint with project configuration
- No TypeScript (vanilla JS for extension simplicity)
- Update relevant docs when making changes
- ADRs for significant architectural decisions
- Keep README current
Install pre-commit hooks:
poetry run pre-commit installHooks include:
- Ruff (Python linting)
- ESLint (JavaScript linting)
- Gitleaks (secret scanning)
- Check existing issues
- Read the Architecture documentation
- Review ADRs in
/docs
Last updated: 2026-01-06 10:28 CT
Aletheia — AI-Powered Context Analysis | MIT License | Report Security Issue
Wiki verified: 2026-02-19