Short Task List (Prioritized)
- Implement Marimo service (port 3001)
- Integrate Prefect (port 4200)
- Add n8n workflow automation (port 5678)
- Set up Evidence dashboard (port 3000)
- Launch Docling API/UI (port 5001)
- Integrate DuckDB and UI (port 4213)
- Integrate LanceDB (local vector DB, port 4230)
- [Optional, implement-later] Add Dagster support (flag)
- [Optional, implement-later] Add Airflow support (flag)
- [Optional] Add OpenWebUI (port 4240), llama-cpp-python (port 4250), Qwen3:4b (port 4260), uv (optional services)
Core Features
Setup and Configuration
Data Stack Components (Implementation Order)
- Marimo notebooks (port 3001)
- Prefect orchestration (port 4200)
- n8n workflow automation (port 5678)
- Evidence dashboards (port 3000)
- Docling API/UI (port 5001)
- DuckDB database and UI (port 4213)
- LanceDB (local vector DB, port 4230)
- [Optional, implement-later] Dagster orchestration (flag)
- [Optional, implement-later] Airflow orchestration (flag)
- [Optional] OpenWebUI (LLM UI, optional, port 4240)
- [Optional] llama-cpp-python (LLM backend, optional, port 4250)
- [Optional] Qwen3:4b (LLM model, optional, port 4260)
- [Optional] uv (Python package manager, optional)
Runtime Operations
Documentation
Project Structure
Core Files
Script Status: pqs-cli.sh
- Robust service management (start/stop/status/health)
- Colored output and summary table for user clarity
- Configurable ports and improved error handling
- Only opens browser for just-started services
- Optional health checks via —health flag
- All core stack services supported (Marimo, Prefect, n8n, Evidence, Docling, DuckDB, LanceDB)
- Modern CLI: Enhanced help, command parsing, and option handling (2024-06)
- [Optional, implement-later] Dagster and Airflow support (flag)
- [Optional] OpenWebUI, llama-cpp-python, Qwen3:4b, uv (optional services)
Tasks Completed
- Created a structured src/ directory for all components
- Moved data generators to proper assets directory
- Moved dbt SQL models to proper marts directory
- Moved shared resources to n8n resources directory
- Created configuration file structure
- Created Marimo notebook for data exploration
- Created Evidence dashboard
- Setup proper Python package configuration with pyproject.toml
- Refactored and improved setup script as pqs-cli.sh (see below)
- Implemented —start Service1,Service2 flag for selective service startup in pqs-cli.sh
- CLI/UX refactor: Enhanced help, command parsing, and option handling in pqs-cli.sh (2024-06)
Next Tasks (Priority order)
- [/] Create Evidence report explaining the services within the Portable Data Stack (PDS) (Priority: 1)
- Create clean-up functionality (Priority: 1)
- [/] Add testing framework (Priority: 2)
- [/] Create simplified lite mode (Priority: 3)
- [/] Add more dbt staging models (Priority: 4)
- [-] Integrate optional Dagster and Airflow support (Priority: 5)
- Add flags for enabling/disabling
- Update documentation and project structure if needed
- Test and document the new —start flag for selective service startup (Priority: 1)
- Add LanceDB integration and usage documentation (Priority: 2)
- Add OpenWebUI, llama-cpp-python, Qwen3:4b, uv as optional services (Priority: 3)
Technical Requirements