2.1 KiB
2.1 KiB
Adobe Sign → DocuSign Migrator — Claude Instructions
Definition of Done
Every feature, phase, or change is NOT complete until:
- Code works — the feature behaves as described
- Tests pass — unit, integration, and/or regression tests are written and green
- README.md is updated — any new usage, CLI flags, endpoints, or setup steps are documented
- EXECUTION-BOARD.md is updated — completed items checked off, lessons learned added
- Pushed to Gitea — changes committed with a meaningful message and pushed
Do not mark a task complete or report it as done until all five are satisfied.
Project Overview
Python toolkit + FastAPI web UI for migrating templates from Adobe Sign to DocuSign.
- CLI pipeline (
src/): download → compose → upload - Web UI (
web/): browser-based auth, side-by-side template browser, one-click migration - Tests (
tests/): unit, API, end-to-end, and regression suites
Key Files
src/compose_docusign_template.py— core field mapping logicsrc/upload_docusign_template.py— upsert upload (PUT if exists, POST if not)web/app.py— FastAPI entrypointweb/routers/— auth, templates, migrate endpointstests/test_regression.py— snapshot tests against real template outputstests/fixtures/expected/— regression snapshots (update with--update-snapshots)field-mapping.md— Adobe Sign → DocuSign field type mapping tabledocs/IMPLEMENTATION-PLAN.md— feature design and test specsdocs/agent-harness/EXECUTION-BOARD.md— living kanban board
Running the Web UI
uvicorn web.app:app --reload --port 8000
Running Tests
pytest tests/ -v # all tests
pytest tests/test_regression.py -v # regression only
pytest tests/ --update-snapshots # regenerate snapshots
Environment
Credentials live in .env (never committed). See .env-sample for all required keys.
Add SESSION_SECRET_KEY for the web session signing key.
Add DOCUSIGN_CLIENT_SECRET and DOCUSIGN_REDIRECT_URI for web OAuth flow.