38c51ed95e
Moves 21 API router files into 6 domain subpackages (max 6 files each): - api/tool/ — tool_instances, tool_types, tool_definitions, sessions - api/config/ — config_profiles, user_config - api/workspace/ — workspaces, workspace_files, workspace_git, workspace_instances - api/user/ — users, auth, ssh_keys - api/project/ — projects, git_repositories - api/system/ — health, events, notifications, dashboard, terminal, instance_proxy sessions_router extracted from tool_instances.py into tool/sessions.py. main.py now imports from subpackage __init__.py re-exports. Cross-router imports updated to use new paths. Fixed pre-existing E712 in tool_definitions.py (is_base == False → is_(False)). Quality gates: py_compile passed on all files, ruff passed.
1.8 KiB
1.8 KiB
Progress — Backend-Frontend Refactoring
Completed
Phase 0: Submodule Infrastructure
- Created all directory structures with __init__.py files
Phase 1: Model Subpackages
- Moved models into domain subpackages (5 subpackages, ≤4 files each)
- Updated models/__init__.py with re-exports
- Updated all imports across backend
- Committed:
0591b00
Phase 2: Schema Extraction
- Extracted Pydantic schemas from 9 API routers into schemas/ subpackages
- Updated all API routers to import from src.schemas.*
- Committed:
8816ee0
Phase 3: Docker Service Split
- Split services/docker.py into services/docker/ package (4 modules)
- Created re-export wrapper in services/tunnel.py
- Committed:
6104f59
Phase 4: Service + API Router Subpackages
- Moved 19 service files into 6 subpackages with re-exports
- Moved 16 API router files into 6 subpackages with re-exports
- Extracted sessions router from tool_instances.py into api/tool/sessions.py
- Updated main.py imports
- Committed locally:
37ccaa4(needs push)
Pending Push
- Commit
37ccaa4is ready locally ondevbut not yet pushed to origin - Run:
cd /home/alex/projects/headquarter && git push origin dev
Remaining Phases
Phase 5: Auth Dependency Refactor
- Add get_current_user to auth/dependencies.py
- Migrate routers to use get_current_user where appropriate
Phase 6: Frontend Reorganization
- Rename API files to kebab-case
- Rename page files to *Page.tsx
- Move components into features/ directories
Phase 7: Integration and Verification
- Run backend tests
- Run frontend typecheck + build
- Verify docker compose up --build
Current Branch
devwith local commits ahead of origin/dev