Getting Started
Build healthcare integration pipelines with YAML and TypeScript
What is intu?
intu is a Git-native healthcare interoperability framework. It provides a Go-based CLI that combines YAML configuration with TypeScript transformers to build, validate, and manage healthcare integration channels.
Projects are plain directories tracked in Git, making collaboration, code review, and version control natural parts of your integration workflow. intu is AI-friendly by design — structured schemas and declarative config make it straightforward for AI assistants to generate and modify pipelines.
Install
npm (recommended)
npm install -g intu-dev
Build from source
git clone https://github.com/intuware/intu-dev.git
cd intu-dev
go build -o intu .
Quick Start
Scaffold a new project, install dependencies, add a channel, then validate and build:
1. Create a new project
intu init my-project
2. Install Node dependencies
cd my-project && npm install
3. Add a channel
intu c my-channel
4. Validate configuration
intu validate
5. Compile transformers
intu build
Project Structure
After running intu init, your project directory looks like this:
my-project/
├── intu.yaml
├── intu.dev.yaml
├── intu.prod.yaml
├── .env
├── package.json
├── tsconfig.json
├── lib/
│ └── index.ts
└── channels/
└── sample-channel/
├── channel.yaml
├── transformer.ts
└── validator.ts
| File / Directory | Purpose |
|---|---|
intu.yaml |
Root configuration — runtime settings, destinations, and global options |
intu.dev.yaml / intu.prod.yaml |
Profile-specific overrides layered on top of the base config |
.env |
Environment variables referenced by ${VAR} in YAML files |
package.json |
Node.js manifest for TypeScript compilation |
tsconfig.json |
TypeScript compiler configuration |
lib/ |
Shared TypeScript utilities |
channels/ |
One subdirectory per channel, each containing its own YAML config and TypeScript files |
Core Concepts
channels/.
channel.yaml.
intu build using tsc.
intu.yaml and referenced by channels.
Supported types include Kafka, HTTP, TCP, file, database, SFTP, SMTP, DICOM, FHIR, and more.
intu.yaml is merged with a profile file such as intu.dev.yaml
or intu.prod.yaml, allowing you to vary settings per environment without
duplicating configuration.