Skip to content

Overview

Welcome to Codify, your go-to solution for setting up MacOS for software development. Codify is based around declaring installations and settings in a configuration file allowing developer setups to be portable and reproducible. Codify allows new developers to get set up in one click and current devs to manage their installations in a stable and consistent manner.

Key features

  • Declarative: Let Codify figure out what to install and how to do it. You just need to declare what your final setup should look like.
  • Plan and Apply: First run codify plan to calculate the changes needed to satisfy your config. Then run codify apply to carry out the changes listed in the plan.
  • Flexible: Declare as many or as few configs as you need. There is no need to import existing resources into Codify. Just declare new things to install or existing resources to manage and it works out of the box without importing.
  • Bidirectional: Codify has the ability to generate Codify configs based on your current setup. All resource configs are bidirectional, they can be read from the system or be applied onto the system. Easily share your current setup with other people.

Whether you’re setting up a new development environment or maintaining existing projects, Codify provides the tools you need to automate and standardize the installation process.

Example: Setting up a NodeJS development environment

codify.json

codify.json
[
{
"type": "nvm",
"nodeVersions": ["20"],
"global": "20"
},
{ "type": "vscode" }
]

Follow the getting started page to install Codify. After installing, copy the above configs into a codify.json file and run codify apply in the same directory as the file. Codify will generate a plan of the changes. Review the plan and select apply. And viola! nvm, nodeJS and vscode are now installed. You are now ready to develop webpages, backend servers or write useful automation scripts using Javascript.

For more information, visit the codify.json docs to learn how to write your own configs. Customize your installation by learning the options for the nvm and vscode resources.

CLI output

codify
~ codify apply
...
╭───────────────────────────────────────╮
│Codify Plan
╰───────────────────────────────────────╯
The following actions will be performed:
+ vscode will be created
{
"directory": "/Applications"
}
+ nvm will be created
{
"nodeVersions": [
"20"
],
"global": "20"
}
Do you want to apply the above changes?
Yes
No

Supported packages

Codify is included with a core plugin that supports a wide range of macOS tools and applications. In the future, support for 3rd party plugins will also be added.

Resources included: