arrow
Documentation

Getting Started

Create your first project, run a task, and understand the core workflow in under five minutes.

Create a project

Use the arrow init command to scaffold a new project from an official template.

bash
arrow init my-app --template vite-react

Arrow downloads the template, installs dependencies, and initializes a Git repository. When finished, change into the directory:

bash
cd my-app

Run tasks

Tasks are defined in arrow.config.ts. Run any task by name:

bash
arrow run dev
arrow run build
arrow run test

Arrow automatically caches task outputs. Run the same task again and it completes instantly:

bash
$ arrow run build
[arrow] build — 0ms (cached)

Pipelines

Pipelines chain tasks together. Define them in your config and run them by name:

arrow.config.ts
export default defineConfig({
  project: 'my-app',
  tasks: {
    lint: { command: 'eslint src/' },
    test: { command: 'vitest run' },
    build: { command: 'vite build' },
  },
  pipelines: {
    ci: ['lint', 'test', 'build'],
  },
})
bash
arrow pipeline ci

Arrow runs independent tasks in parallel and respects dependency order automatically.

Watch mode

During development, use watch mode to rebuild and retest on every file change:

bash
arrow watch

Arrow starts a file watcher, triggers the default pipeline, and keeps the process alive. Changes are debounced and cached to keep rebuilds fast.

Next steps