Skip to content
@codifycli

Codify CLI

Codify is a configuration-as-code tool that declaratively installs and manages developer tools and applications, turning system setup into a safe process

Codify CLI

Configuration-as-code for your development environment

Codify is a declarative tool for installing and managing developer tools and applications. Turn your system setup into a safe, reproducible process using infrastructure-as-code principles.

What is Codify?

Codify lets you define your entire development environment in code. Instead of running dozens of installation commands or clicking through installers, describe what you want installed and let Codify handle the rest.

[
  {
    "type": "homebrew",
    "formulae": ["git", "postgresql", "redis"],
    "casks": ["docker"]
  },
  {
    "type": "nvm",
    "nodeVersions": ["20.0.0", "18.0.0"],
    "defaultVersion": "20.0.0"
  },
  {
    "type": "git-repository",
    "parentDirectory": "~/projects",
    "repositories": [
      "git@github.com:myorg/frontend.git",
      "git@github.com:myorg/backend.git"
    ]
  },
  {
    "type": "vscode"
  }
]

Run codify apply and your environment is ready.

Key Features

  • Declarative configuration - Define what you want, not how to get it
  • Idempotent operations - Run the same configuration multiple times safely
  • Plugin architecture - Extend Codify to manage any type of resource
  • Cross-platform support - Works on macOS, Linux, and Windows
  • TypeScript-based - Type-safe plugin development

Installation

Command line (recommended)

/bin/bash -c "$(curl -fsSL https://releases.codifycli.com/install.sh)"

Core Repositories

The main CLI tool. Start here to use Codify for managing your development environment.

TypeScript library for building Codify plugins. Use this to create custom resource managers for your infrastructure-as-code needs.

Testing framework for Codify plugins with lifecycle testing and cross-platform support. Essential for plugin developers.

The default plugin implementation, providing built-in resource types and serving as a reference for plugin development.

Getting Started

# Install Codify
npm install -g codify-cli

# Initialize a new project
codify init

# Apply your configuration
codify apply

Plugin Development

Building a Codify plugin is straightforward with our TypeScript SDK:

import { Plugin, Resource } from 'codify-plugin-core';

class MyCustomResource extends Resource {
  async apply() {
    // Your resource logic here
  }
}

Check out codify-plugin-core for the complete API documentation.

Why Codify?

  • Reproducible environments - Share your exact setup with teammates
  • Version control your tools - Track changes to your development environment
  • Onboard faster - New team members run one command to get started
  • Disaster recovery - Rebuild your entire setup from a single file

Contributing

We welcome contributions! Check out the individual repositories for specific contribution guidelines.

Links


Made with ❤️ by the Codify team

Pinned Loading

  1. codify-plugin-core codify-plugin-core Public

    TypeScript library for building Codify plugins to manage system resources (applications, CLI tools, settings) through infrastructure-as-code

    TypeScript

  2. default-plugin default-plugin Public

    Default plugin for Codify - provides 50+ declarative resources for managing development tools and system configuration across macOS and Linux

    TypeScript

  3. codify-schemas codify-schemas Public

    TypeScript

Repositories

Showing 8 of 8 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…