Tool Version Go 1.25+ Node.js 18+ npm (bundled)
git clone https://github.com/intuware/intu-dev.git
Task Command Build binary go build -o intu .Run tests go test ./... -vLint go vet ./...Run from source go run . <command>Tidy deps go mod tidy
Walk through the full workflow from scaffolding a project to running a channel:
./intu channel create adt-feed
Package Description cmd/Cobra CLI commands internal/runtime/Engine, channel lifecycle, pipeline, Node.js runner, hot-reload internal/dashboard/Web dashboard server and embedded SPA internal/storage/Message stores: memory, postgres, s3, composite internal/connector/Source connectors and destinations internal/bootstrap/Project and channel scaffolding templates internal/auth/OIDC, LDAP, basic auth, RBAC, audit internal/cluster/Redis coordinator, deduplication, health checks internal/retry/Retry queues, dead-letter queue internal/observability/Prometheus, OpenTelemetry metrics internal/datatype/HL7v2, FHIR, X12, CCDA, JSON, XML, CSV, binary parsers pkg/config/YAML config loading, validation pkg/logging/Structured logging, transports npm/npm package (ships prebuilt binary) docs/HTML documentation, JSON schemas
All tests are pure Go — no Docker, no running databases, no network calls.
Package Test File(s) Focus internal/runtimeengine_test.go, pipeline_test.goChannel lifecycle, pipeline execution internal/storagememory_test.go, composite_test.goIn-memory store, composite routing internal/connectorsource_test.go, dest_test.goConnector start/stop, message delivery internal/authrbac_test.go, oidc_test.goRole checks, token validation internal/retryretry_test.go, dlq_test.goRetry scheduling, dead-letter routing internal/datatypehl7_test.go, fhir_test.goParse/serialize healthcare data formats internal/clustercoordinator_test.goLeader election, deduplication internal/bootstrapscaffold_test.goTemplate rendering, directory structure pkg/configconfig_test.go, validate_test.goYAML loading, schema validation pkg/logginglogging_test.goStructured output, transport switching
go test ./internal/runtime/... -v
Node.js worker pool — Transformer scripts run in a managed pool of Node.js child processes. The pool size is configurable and workers are recycled after a set number of invocations.
fsnotify hot-reload — The engine watches project files and restarts affected channels on change, without dropping in-flight messages.
Shared HTTP listeners — Multiple channels can bind to the same port. The engine multiplexes requests by path to the correct channel pipeline.
Scaffolding templates — intu init and intu channel create use Go text/template files embedded in the binary to generate project and channel boilerplate.
Report bugs or request features — Open an issue on GitHub Issues .
Submit a pull request — Fork the repo, create a branch, and open a PR against main. Include tests for new functionality.
Join the discussion — Ask questions or share ideas in GitHub Discussions .
Maintainer contact: ramnish@intuware.com