CliFi

Getting Started

Introduction

Learn what CliFi is, why teams choose it, and how it fits into modern infrastructure workflows.

What is CliFi?

CliFi is a declarative, scriptable command-line tool designed for teams who manage infrastructure, deploy services, and run operational workflows. It combines the simplicity of YAML-based configuration with the power of a programmable runtime, giving you a single interface to build, test, deploy, and monitor your stack.

At its core, CliFi reads workflow definitions from a clifi.yaml file and executes them as directed acyclic graphs. Tasks run in parallel where safe, cache intermediate results, and surface rich progress feedback - all without leaving your terminal.

Why CliFi was built

Modern infrastructure teams juggle multiple tools: Terraform for provisioning, Docker for packaging, Kubernetes for orchestration, custom scripts for glue logic, and CI/CD platforms for automation. Each tool has its own configuration format, its own CLI quirks, and its own failure modes.

CliFi was built to unify these workflows under one roof. Instead of stitching together Makefiles, shell scripts, and CI YAML, you define your entire operational surface in a single, version-controlled configuration. The CLI becomes your single source of truth for how your infrastructure behaves.

Key features

  • Declarative workflows - Define tasks, dependencies, and environments in plain YAML. No imperative scripting required for standard operations.
  • Parallel execution - CliFi builds a dependency graph from your workflow and runs independent tasks concurrently, cutting build and deploy times significantly.
  • Smart caching - Task outputs are cached by content hash. Re-run a workflow and only changed tasks execute - perfect for incremental builds.
  • Multi-environment support - Promote the same workflow definition across dev, staging, and production with environment-specific overrides.
  • Built-in secret management - Integrate with 1Password, Vault, AWS Secrets Manager, or inject from environment variables without leaving traces in logs.
  • Rich observability - Structured JSON logs, OpenTelemetry spans, and real-time progress bars give you full visibility into every run.
  • Plugin ecosystem - Extend CliFi with custom task types, cloud providers, and notification channels. Write plugins in JavaScript, Python, or Go.
  • CI/CD native - Generate GitHub Actions, GitLab CI, or CircleCI configurations directly from your CliFi definitions. One source of truth, many execution environments.

Who is CliFi for?

CliFi is designed for platform engineers, SREs, DevOps practitioners, and full-stack developers who need a reliable way to automate infrastructure workflows. Whether you are managing a single containerized application or a multi-region Kubernetes fleet, CliFi scales from personal projects to enterprise deployments.

If you have ever found yourself maintaining a brittle Makefile, copying shell scripts between repositories, or fighting with CI YAML indentation, CliFi is built for you.

Architecture overview

CliFi follows a layered architecture:

  1. Configuration layer - Parses clifi.yaml, validates schemas, and resolves environment-specific overrides.
  2. Graph engine - Builds a task dependency DAG, detects cycles, and schedules execution order.
  3. Runtime layer - Executes tasks via built-in runners (shell, Docker, Kubernetes) or plugin-provided runners.
  4. State layer - Manages caching, artifacts, and lock files to enable incremental and reproducible builds.
  5. Observability layer - Emits structured logs, metrics, and traces for every workflow execution.

Next steps

Ready to get started? Follow the installation guide to set up CliFi on your machine, then work through the quick start tutorial to run your first workflow.