feat: Add development scripts for environment check and service management

- check-env.sh: Validates Python 3.10+, Node.js, Docker, venv, .env, ports
- start-dev.sh: Starts MinIO, backend, frontend with health checks
- stop-dev.sh: Gracefully stops all services

Scripts are placed in project root for easy access.
Supports --help flag and colored output.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
egg
2025-12-01 19:17:54 +08:00
parent c8966477b9
commit 77091eefb5
8 changed files with 1082 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
# Change: Add Development Scripts
## Why
Developers currently need to manually start multiple services (MinIO, backend, frontend) and verify environment prerequisites before running the application. This is error-prone and time-consuming. Automated scripts will streamline the development workflow and reduce onboarding friction.
## What Changes
- **NEW**: Environment check script (`check-env.sh`) - Validates all prerequisites
- **NEW**: Unified development startup script (`start-dev.sh`) - Starts all services
- **NEW**: Stop script (`stop-dev.sh`) - Gracefully stops all services
## Impact
- Affected specs: Creates new `dev-scripts` specification
- Affected code:
- Shell scripts in project root directory
- No changes to existing application code
## Dependencies
- Existing docker-compose.minio.yml for MinIO
- Python virtual environment (venv/)
- Node.js and npm for frontend
## Success Criteria
1. `check-env.sh` validates Python 3.10+, Node.js, Docker, required ports
2. `check-env.sh` provides clear error messages for missing prerequisites
3. `start-dev.sh` starts MinIO, backend, and frontend in correct order
4. `start-dev.sh` waits for each service to be healthy before proceeding
5. `stop-dev.sh` gracefully terminates all services
6. Scripts work on Linux/WSL environments