91 lines
2.4 KiB
Markdown
91 lines
2.4 KiB
Markdown
# EmboFlow
|
|
|
|
EmboFlow is a B/S embodied-data workflow platform for raw asset ingestion, delivery normalization, dataset transformation, workflow execution, preview, and export.
|
|
|
|
## Bootstrap
|
|
|
|
From the repository root:
|
|
|
|
```bash
|
|
make bootstrap
|
|
```
|
|
|
|
This installs workspace dependencies and runs `scripts/install_hooks.sh` so local commit and push guardrails are active.
|
|
|
|
## Local Commands
|
|
|
|
Run the full repository test suite:
|
|
|
|
```bash
|
|
make test
|
|
```
|
|
|
|
Run the strict repository guardrails:
|
|
|
|
```bash
|
|
make guardrails
|
|
```
|
|
|
|
Start package-level development entrypoints:
|
|
|
|
```bash
|
|
make dev-api
|
|
make dev-web
|
|
make dev-worker
|
|
```
|
|
|
|
## Local Deployment
|
|
|
|
Start MongoDB and MinIO:
|
|
|
|
```bash
|
|
make infra-up
|
|
```
|
|
|
|
Start the API and web app in separate terminals:
|
|
|
|
```bash
|
|
make serve-api
|
|
make serve-web
|
|
make serve-worker
|
|
```
|
|
|
|
The default local stack uses:
|
|
|
|
- API: `http://127.0.0.1:3001`
|
|
- Web: `http://127.0.0.1:3000`
|
|
- Worker: Mongo polling loop with `WORKER_POLL_INTERVAL_MS=1000`
|
|
|
|
### Local Data Validation
|
|
|
|
The local validation path currently used for embodied data testing is:
|
|
|
|
```text
|
|
/Users/longtaowu/workspace/emboldata/data
|
|
```
|
|
|
|
You can register that directory from the Assets page or via `POST /api/assets/register`.
|
|
The workflow editor currently requires selecting at least one registered asset before a run can be created.
|
|
The Runs workspace now shows project-scoped run history, run-level aggregated summaries, and run detail views with persisted task summaries, stdout/stderr sections, result previews, and artifact links into Explore.
|
|
|
|
## Repository Structure
|
|
|
|
- `apps/api` contains the control-plane modules for workspaces, assets, workflows, runs, and artifacts.
|
|
- `apps/web` contains the React shell, asset workspace, workflow editor surface, run detail view, and explore renderers.
|
|
- `apps/worker` contains the Mongo-backed worker runtime, task runner, and executor contracts.
|
|
- `design/` contains the architecture and product design documents that must stay aligned with implementation.
|
|
- `docs/` contains workflow guidance and the executable implementation plan.
|
|
|
|
## Developer Workflow
|
|
|
|
1. Read the relevant design files under `design/` before editing code.
|
|
2. Implement code and update impacted docs in the same change set.
|
|
3. Use English-only commit messages with a gitmoji prefix.
|
|
4. Run `make test` and `make guardrails` before pushing changes.
|
|
|
|
For direct hook installation or reinstallation:
|
|
|
|
```bash
|
|
bash scripts/install_hooks.sh
|
|
```
|