Backend changes:
- Add format and platform columns to Package model with validation
- Add database migrations for new columns with indexes
- Create PackageDetailResponse schema with aggregated fields:
- tag_count, artifact_count, total_size
- latest_tag, latest_upload_at
- recent_tags (last 5 tags)
- Update list_packages endpoint:
- Add pagination (page, limit)
- Add search by name/description
- Add sort (name, created_at, updated_at) and order (asc, desc)
- Add format and platform filters
- Return aggregated metadata for each package
- Add GET /api/v1/project/{project}/packages/{package_name} endpoint
- Returns single package with full metadata
- Optional include_tags parameter for all tags
- Update create_package to accept format and platform
Frontend changes:
- Update Package type with format, platform, and optional metadata fields
- Update listPackages to handle paginated response
- Grove → Project
- Tree → Package
- Fruit → Artifact
- Graft → Tag
- Cultivate → Upload
- Harvest → Download
Updated across:
- Backend models, schemas, and routes
- Frontend types, API client, and components
- README documentation
- API endpoints now use /project/:project/packages pattern
- Backend: Python 3.12 with FastAPI, SQLAlchemy, boto3
- Frontend: React 18 with TypeScript, Vite build tooling
- Updated Dockerfile for multi-stage Node + Python build
- Updated CI pipeline for Python backend
- Removed old Go code (cmd/, internal/, go.mod, go.sum)
- Updated README with new tech stack documentation