Getting Started
This guide walks you through creating your first arrow project and running a simple pipeline. By the end, you'll have a working development workflow defined as code.
1. Create a Project
Use arrow init to scaffold a new project with a default configuration:
This creates a minimal project structure with an arrow.yaml config file, a src/ directory for your code, and a pipelines/ directory for reusable pipeline files.
2. Define a Pipeline
Open arrow.yaml in your editor. It starts with a default pipeline. Let's customize it:
version: "1"
project:
name: my-app
language: node
pipelines:
build:
steps:
- name: install
run: npm install
- name: lint
run: npm run lint
needs: [install]
- name: test
run: npm run test
needs: [install]
- name: build
run: npm run build
needs: [lint, test]Each step has a name, a run command, and optional needs dependencies. Steps without needs run in parallel.
3. Run the Pipeline
Now run the build pipeline:
Notice that lint and test ran in parallel - they both depend on install but not on each other. arrow resolves the dependency graph automatically.
4. Re-run with Caching
Run the pipeline again without changing any files:
arrow caches the output of every step based on file content hashes. When nothing changed, the pipeline completes in milliseconds.
Caching is content-aware: if you modify source files, only the affected steps and their dependents are re-executed. The cache lives in .arrow/cache in your project directory.
5. What's Next?
- Explore all commands and their options
- Check out real-world examples
- Read the configuration reference