mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 14:25:02 +00:00
217 lines
4.3 KiB
Markdown
217 lines
4.3 KiB
Markdown
# Scripts Directory
|
|
|
|
This directory contains utility scripts for development, testing, database management, and quality assurance.
|
|
|
|
## 📋 Overview
|
|
|
|
Scripts organized by function:
|
|
|
|
### Quality & Documentation
|
|
|
|
- **`doc-quality-checker.sh`** - Documentation quality assessment tool (0-100% scoring)
|
|
|
|
### Database
|
|
|
|
- **`migrate-to-prisma.sh`** - Migrate existing database to Prisma ORM
|
|
- **`migrate-to-prisma.cjs`** - CJS-based migration utility
|
|
- **`setup-packages.cjs`** - Initialize package structure
|
|
- **`generate-package-index.cjs`** - Build `packages/index.json` from package metadata
|
|
- **`generate-mega-seed.cjs`** - Generate large forum seed data for demos
|
|
|
|
### Testing & Deployment
|
|
|
|
- **`run-act.sh`** - Run GitHub Actions workflows locally
|
|
- **`test-workflows.sh`** - Validate workflow definitions
|
|
|
|
### Debugging
|
|
|
|
- **`diagnose-workflows.sh`** - Diagnose workflow issues
|
|
- **`capture-screenshot.ts`** - Capture UI screenshots
|
|
|
|
## 🚀 Common Tasks
|
|
|
|
### Check Documentation Quality
|
|
|
|
```bash
|
|
# Basic check
|
|
./scripts/doc-quality-checker.sh /workspaces/metabuilder
|
|
|
|
# Detailed output
|
|
./scripts/doc-quality-checker.sh /workspaces/metabuilder true
|
|
```
|
|
|
|
Returns:
|
|
- README Coverage (%)
|
|
- Documentation Structure (%)
|
|
- Code Comments (%)
|
|
- JSDoc Coverage (%)
|
|
- Type Annotations (%)
|
|
- Examples/Guides (%)
|
|
- Architecture Docs (%)
|
|
- Security Docs (%)
|
|
- **Overall Quality Score & Recommendations**
|
|
|
|
Quality Rating:
|
|
- 90-100%: Excellent
|
|
- 80-89%: Good
|
|
- 70-79%: Fair
|
|
- 60-69%: Poor
|
|
- 0-59%: Very Poor
|
|
|
|
### Run GitHub Actions Locally
|
|
|
|
```bash
|
|
# Run all workflows
|
|
./scripts/run-act.sh
|
|
|
|
# Requires 'act' tool: https://github.com/nektos/act
|
|
```
|
|
|
|
### Migrate to Prisma
|
|
|
|
```bash
|
|
./scripts/migrate-to-prisma.sh
|
|
```
|
|
|
|
## 📚 Available Scripts
|
|
|
|
### `run-act.sh`
|
|
|
|
Run GitHub Actions workflows locally using [act](https://github.com/nektos/act).
|
|
|
|
**Prerequisites:**
|
|
- Docker installed and running
|
|
- `act` CLI tool installed
|
|
|
|
**Installing act:**
|
|
|
|
```bash
|
|
# macOS (Homebrew)
|
|
brew install act
|
|
|
|
# Linux (curl)
|
|
curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
|
|
|
|
# Windows (Chocolatey)
|
|
choco install act-cli
|
|
```
|
|
|
|
**Usage:**
|
|
|
|
```bash
|
|
# Run default CI workflow
|
|
npm run act
|
|
|
|
# Or directly:
|
|
./scripts/run-act.sh
|
|
|
|
# Run specific workflow
|
|
./scripts/run-act.sh -w ci.yml
|
|
|
|
# Run only a specific job
|
|
./scripts/run-act.sh -w ci.yml -j lint
|
|
./scripts/run-act.sh -w ci.yml -j test-e2e
|
|
|
|
# Simulate different events
|
|
./scripts/run-act.sh -e pull_request
|
|
|
|
# List available workflows
|
|
./scripts/run-act.sh -l
|
|
|
|
# Show help
|
|
./scripts/run-act.sh -h
|
|
```
|
|
|
|
### `generate-package-index.cjs`
|
|
|
|
Generate `packages/index.json` so the package loader can discover packages dynamically.
|
|
|
|
**Usage:**
|
|
|
|
```bash
|
|
node tools/generate-package-index.cjs
|
|
```
|
|
|
|
### `generate-mega-seed.cjs`
|
|
|
|
Generate a deterministic, large seed dataset for `forum_forge` examples.
|
|
|
|
**Usage:**
|
|
|
|
```bash
|
|
node tools/generate-mega-seed.cjs
|
|
```
|
|
|
|
**Common Use Cases:**
|
|
|
|
1. **Test CI pipeline before pushing:**
|
|
```bash
|
|
npm run act
|
|
```
|
|
|
|
2. **Debug e2e test failures:**
|
|
```bash
|
|
./scripts/run-act.sh -w ci.yml -j test-e2e
|
|
```
|
|
|
|
3. **Test lint fixes:**
|
|
```bash
|
|
./scripts/run-act.sh -w ci.yml -j lint
|
|
```
|
|
|
|
4. **Simulate PR checks:**
|
|
```bash
|
|
./scripts/run-act.sh -e pull_request
|
|
```
|
|
|
|
**Notes:**
|
|
- First run will be slow as Docker images are downloaded
|
|
- Act runs workflows in Docker containers that simulate GitHub Actions runners
|
|
- Some features may not work exactly like GitHub Actions (e.g., certain actions, secrets)
|
|
- Check `.actrc` or pass `-P` flag to customize Docker images used
|
|
|
|
**Troubleshooting:**
|
|
|
|
If you encounter issues:
|
|
|
|
1. **Docker not running:**
|
|
```bash
|
|
# Make sure Docker is running
|
|
docker ps
|
|
```
|
|
|
|
2. **Permission issues:**
|
|
```bash
|
|
# Make sure script is executable
|
|
chmod +x scripts/run-act.sh
|
|
```
|
|
|
|
3. **Out of disk space:**
|
|
```bash
|
|
# Clean up Docker images
|
|
docker system prune -a
|
|
```
|
|
|
|
4. **Workflow doesn't run:**
|
|
```bash
|
|
# List workflows to verify name
|
|
./scripts/run-act.sh -l
|
|
```
|
|
|
|
### `setup-packages.cjs`
|
|
|
|
Sets up the package system for the project. This script is automatically run during `postinstall`.
|
|
|
|
**Usage:**
|
|
```bash
|
|
npm run setup-packages
|
|
```
|
|
|
|
## Adding New Scripts
|
|
|
|
When adding new scripts:
|
|
1. Make them executable: `chmod +x scripts/your-script.sh`
|
|
2. Add appropriate help/usage information
|
|
3. Document them in this README
|
|
4. Consider adding npm script aliases in `package.json`
|