| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
The default plugin for Codify - a declarative system configuration tool that manages your development environment as code.
Codify allows you to define your entire development environment in a single JSON configuration file. Instead of remembering dozens of installation commands and configuration steps, you describe your desired system state and Codify makes it happen.
This plugin provides 50+ resources for managing common development tools and configurations across macOS and Linux. Think of it as Infrastructure-as-Code for your local development machine.
First, install the Codify CLI:
/bin/bash -c "$(curl -fsSL https://releases.codifycli.com/install.sh)"Create a codify.json file in your home directory or project:
[
{
"type": "homebrew",
"formulae": ["git", "node", "python"],
"casks": ["visual-studio-code", "docker"]
},
{
"type": "git",
"name": "John Doe",
"email": "john@example.com"
},
{
"type": "aliases",
"aliases": [
{ "alias": "ll", "value": "ls -la" },
{ "alias": "gs", "value": "git status" }
]
}
]Apply your configuration:
codify applyThat's it! Codify will install the packages, configure git, and set up your shell aliases.
[
{
"type": "homebrew",
"formulae": ["postgresql@18", "redis"]
},
{
"type": "nvm",
"nodeVersions": ["20.0.0", "18.0.0"],
"global": "20.0.0"
},
{
"type": "git-repository",
"parentDirectory": "~/projects",
"repositories": [
"git@github.com:myorg/frontend.git",
"git@github.com:myorg/backend.git"
]
},
{
"type": "vscode"
},
{
"type": "docker"
}
][
{
"type": "pyenv",
"pythonVersions": ["3.11.0", "3.10.0"],
"global": "3.11.0"
},
{
"type": "pip",
"install": ["pandas", "numpy", "matplotlib", "scikit-learn"]
},
{
"type": "venv-project",
"envDir": ".venv",
"cwd": "~/data-science",
"automaticallyInstallRequirementsTxt": true
}
][
{
"type": "homebrew",
"formulae": ["kubernetes-cli", "helm"]
},
{ "type": "aws-cli" },
{
"type": "aws-profile",
"profile": "production",
"awsAccessKeyId": "AKIA...",
"awsSecretAccessKey": "TOP_SECRET"
},
{
"type": "docker"
},
{
"type": "ssh-key",
"passphrase": ""
},
{
"type": "terraform"
}
][
{
"type": "aliases",
"aliases": [
{ "alias": "g", "value": "git" },
{ "alias": "d", "value": "docker" },
{ "alias": "k", "value": "kubectl" },
{ "alias": "tf", "value": "terraform" }
]
},
{
"type": "path",
"paths": [
"$HOME/.local/bin",
"$HOME/scripts"
]
}
]Define your desired system state and let Codify handle the implementation details.
Run codify apply as many times as you want - Codify only makes necessary changes.
Codify tracks what it manages, allowing for clean modifications and removals.
Most resources work on both macOS and Linux, with automatic OS detection.
Each resource is independent and can declare dependencies on others.
Modify your configuration file and Codify will compute the minimal set of changes needed.
Codify only manages what you explicitly declare. Other system state is ignored.
{
"type": "aliases",
"aliases": [
{ "alias": "ll", "value": "ls -la" }
],
"declarationsOnly": true
}Codify manages the complete state of a resource and tracks all changes.
{
"type": "homebrew",
"formulae": ["git", "node"]
}If you remove "node" from the config, Codify will uninstall it.
# Clone the repository
git clone https://github.com/kevinwang5658/codify-homebrew-plugin.git
cd codify-homebrew-plugin
# Install dependencies
npm install
# Build the plugin
npm run build# Run all tests
npm test
# Run unit tests only (fast)
npm run test:unit
# Run integration tests only (slow, requires system access)
npm run test:integration
# Run a specific test
npx vitest test/shell/alias.test.tssrc/ ├── index.ts # Plugin entry point ├── resources/ # Resource implementations │ ├── homebrew/ # Homebrew package manager │ ├── git/ # Git resources │ ├── shell/ # Shell configuration │ ├── python/ # Python tooling │ └── ... # 50+ other resources └── utils/ # Shared utilities test/ # Integration tests scripts/ # Build and deployment scripts
We welcome contributions! Here's how to get started:
Integration tests run against your actual system, so:
This plugin uses a Resource-based architecture:
For detailed architecture documentation, see CLAUDE.md.
# Build for production
npm run build
# Deploy to registry (maintainers only)
npm run deploy
# Deploy beta version
npm run deploy:betaThe build process:
ISC License - see LICENSE file for details.
Made with ❤️ by the Codify community
| Back | FazBrowse Home | New Git URL |