jellytau/scripts/README.md
Duncan Tourolle e3797f32ca
Some checks failed
Traceability Validation / Check Requirement Traces (push) Failing after 1m18s
🏗️ Build and Test JellyTau / Build APK and Run Tests (push) Has been cancelled
many changes
2026-02-14 00:09:47 +01:00

119 lines
3.1 KiB
Markdown

# Development Scripts
Collection of utility scripts for building, testing, and deploying JellyTau.
## Testing Scripts
### `test-all.sh`
Run all tests (frontend + Rust backend).
```bash
./scripts/test-all.sh
```
### `test-frontend.sh`
Run frontend tests only.
```bash
./scripts/test-frontend.sh # Run all tests
./scripts/test-frontend.sh --watch # Watch mode
./scripts/test-frontend.sh --ui # Open UI
```
### `test-rust.sh`
Run Rust tests only.
```bash
./scripts/test-rust.sh # Run all tests
./scripts/test-rust.sh -- --nocapture # Show println! output
```
## Android Scripts
### `build-android.sh`
Build the Android APK.
```bash
./scripts/build-android.sh # Debug build
./scripts/build-android.sh release # Release build
```
### `deploy-android.sh`
Install APK on connected Android device.
```bash
./scripts/deploy-android.sh # Deploy debug APK
./scripts/deploy-android.sh release # Deploy release APK
```
### `build-and-deploy.sh`
Build and deploy in one command.
```bash
./scripts/build-and-deploy.sh # Build + deploy debug
./scripts/build-and-deploy.sh release # Build + deploy release
```
### `check-android.sh`
Check Android development environment setup.
```bash
./scripts/check-android.sh
```
### `logcat.sh`
View Android logcat filtered for the app.
```bash
./scripts/logcat.sh
```
## Traceability & Documentation
### `extract-traces.ts`
Extract requirement IDs (TRACES) from source code and generate a traceability matrix mapping requirements to implementation locations.
```bash
bun run traces # Generate markdown report
bun run traces:json # Generate JSON report
bun run traces:markdown # Save to docs/TRACEABILITY.md
```
The script scans all TypeScript, Svelte, and Rust files looking for `TRACES:` comments and generates a comprehensive mapping of:
- Which code files implement which requirements
- Line numbers and code context
- Coverage summary by requirement type (UR, IR, DR, JA)
Example TRACES comment in code:
```typescript
// TRACES: UR-005, UR-026 | DR-029
function handlePlayback() { ... }
```
See [docs/TRACEABILITY.md](../docs/TRACEABILITY.md) for the latest generated mapping.
### CI/CD Validation
The traceability system is integrated with Gitea Actions CI/CD:
- Automatically validates TRACES on every push and pull request
- Enforces minimum 50% coverage threshold
- Warns if new code lacks TRACES comments
- Generates traceability reports automatically
For details, see:
- [Traceability CI Guide](../docs/TRACEABILITY_CI.md) - Full CI/CD documentation
- [TRACES Quick Reference](../TRACES_QUICK_REF.md) - Quick guide for adding TRACES
## Utility Scripts
### `clean.sh`
Clean all build artifacts.
```bash
./scripts/clean.sh
```
## NPM Script Aliases
You can also run these via npm/bun:
```bash
bun run test:all # All tests
bun run test:rust # Rust tests
bun run android:build # Build Android APK
bun run android:deploy # Deploy to device
bun run android:dev # Build + deploy debug
bun run android:check # Check environment
bun run clean # Clean artifacts
```