Skip to content

Commit 88481e2

Browse files
fix: v1.0 fixes (#58)
* fix: Fix install script * fix: Fix for test command not working * fix: Fix test command not working (local reference found) * feat: Augmented test to be able to accept live config updates. * fix: Fix dependsOn requiring a full id (type.name). Instead modify it to only require type and match multiple resources. A full qualified name (type.name) will match only one resource. * fix: Fix npm publish not working. * feat: Improved README * fix: Updated urls to point to new documentation domain codifycli.com/docs instead * chore: bumped version to 1.0.1
1 parent f84a95f commit 88481e2

File tree

24 files changed

+175
-115
lines changed

24 files changed

+175
-115
lines changed

README.md

Lines changed: 30 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
**Stop manually setting up your development environment. Define it once, replicate it everywhere.**
44

5-
Codify is a command-line tool that brings the power of Infrastructure as Code (IaC) to your local development machine. Manage system settings, install packages, configure tools, and automate your entire setup using a simple, declarative configuration file—just like you manage your infrastructure with Terraform.
5+
Codify is a command-line tool that brings the power of Infrastructure as Code (IaC) to your local development machine. Manage system settings, install packages, configure tools, and automate your setup using a simple, declarative configuration file. It's like Terraform but for your local machine.
66

77
<p align="center">
88
<a href="https://codifycli.com">Website</a> •
99
<a href="https://dashboard.codifycli.com">Web Editor</a> •
10-
<a href="https://docs.codifycli.com">Documentation</a>
10+
<a href="https://codifycli.com/docs">Documentation</a>
1111
</p>
1212

1313
<p align="center">
@@ -24,7 +24,6 @@ Every developer has been there:
2424
- **New machine?** Spend hours reinstalling and configuring everything
2525
- **Team onboarding?** Send them a scattered wiki page of manual installation steps
2626
- **Multiple machines?** Keep them in sync manually
27-
- **What's installed?** No clear record of your development environment
2827
- **Configuration drift?** Your laptop works differently than your colleague's
2928

3029
## The Solution
@@ -47,19 +46,19 @@ With Codify, your entire development environment is defined in a single `codify.
4746
```
4847

4948
Now you can:
50-
- **See what changes** before applying them with `codify plan`
51-
- **Apply changes** automatically with `codify apply`
52-
- **Version control** your environment setup
53-
- **Share configurations** with your team
54-
- **Replicate setups** across multiple machines in minutes
49+
- **See what changes** before applying them with `codify plan`
50+
- **Apply changes** automatically with `codify apply`
51+
- **Version control** your environment setup
52+
- **Share configurations** with your team
53+
- **Replicate setups** across multiple machines in minutes
5554

5655
## Key Features
5756

58-
### 🎯 **Declarative Configuration**
57+
### **Declarative Configuration**
5958
Define your entire development environment in a single, readable configuration file. No more shell scripts or scattered installation instructions.
6059

61-
### 🔍 **Plan Before You Apply**
62-
Like Terraform, Codify shows you exactly what changes will be made before executing them. No surprises.
60+
### **Plan Before You Apply**
61+
Like Terraform, Codify shows you exactly what changes will be made before executing them.
6362

6463
```bash
6564
$ codify plan
@@ -87,8 +86,8 @@ Do you want to apply the above changes?
8786
No
8887
```
8988

90-
### 📥 **Import Your Current Setup**
91-
Already have a configured machine? Generate a Codify configuration from your existing setup in seconds:
89+
### **Import Your Current Setup**
90+
Already have a configured machine? Generate a Codify configuration from your existing setup:
9291

9392
```bash
9493
$ codify init
@@ -109,29 +108,28 @@ Use <space> to select and <return> to submit.
109108
Use <a> to select all items and <d> to de-select all items.
110109
```
111110
112-
### 🔌 **Extensible Plugin System**
111+
### **Extensible Plugin System**
113112
Out-of-the-box support for:
114113
- **Homebrew** (formulae and casks)
115114
- **VS Code** (extensions and settings)
116115
- **npm** global packages
117116
- **macOS** system preferences
118117
- **Git** configuration
119-
- And [many more](https://docs.codifycli.com/plugins)...
118+
- And [many more](https://codifycli.com/docs/plugins)...
120119
121-
Don't see what you need? Create your own plugin in minutes.
120+
Don't see what you need? [Create your own plugin](https://codifycli.com/docs/plugins).
122121
123-
### 🌐 **Web-Based Editor**
124-
Edit your configuration in a beautiful web interface at [dashboard.codifycli.com](https://dashboard.codifycli.com):
125-
- 🎨 Intuitive UI with auto-completion
126-
- 🔄 Real-time validation
127-
- ☁️ Cloud sync across devices
128-
- 🤝 Share configurations with your team
122+
### **Web-Based Editor**
123+
Edit your configuration in a web interface at [dashboard.codifycli.com](https://dashboard.codifycli.com):
124+
- Intuitive UI with auto-completion
125+
- Real-time validation
126+
- Cloud sync across devices
127+
- Share configurations with your team
129128
130-
### 🔒 **Safe & Secure**
129+
### **Safe & Secure**
131130
- Preview all changes before applying
132-
- Sudo password prompts only when needed
133-
- Secure mode for extra protection
134-
- Open source and Apache 2.0 licensed
131+
- Both the CLI tool and default plugin are open source and Apache 2.0 licensed
132+
- Requests your password each time elevated privileges (sudo) is required.
135133
136134
## Quick Start
137135
@@ -175,14 +173,6 @@ codify plan
175173
codify apply
176174
```
177175
178-
### Pro Tip: Use the Web Editor
179-
180-
Visit [dashboard.codifycli.com](https://dashboard.codifycli.com) for a guided, visual way to build your configuration with:
181-
- Auto-complete for all available packages
182-
- Real-time validation
183-
- Cloud storage and sync
184-
- Shareable configurations
185-
186176
## Common Commands
187177
188178
| Command | Description |
@@ -198,26 +188,6 @@ Visit [dashboard.codifycli.com](https://dashboard.codifycli.com) for a guided, v
198188
199189
Run `codify --help` for a complete list of commands and options.
200190
201-
## Real-World Use Cases
202-
203-
### **Individual Developers**
204-
- Keep multiple machines (work laptop, personal laptop, desktop) in sync
205-
- Quickly recover from system reinstalls or upgrades
206-
- Document your development environment as code
207-
- Try out new tools without the hassle of installing them
208-
209-
### **Development Teams**
210-
- Onboard new developers in minutes instead of days
211-
- Ensure everyone has the same development environment
212-
- Share team configurations via Git or the [Codify editor](https://dashboard.codifycli.com)
213-
- Reduce "works on my machine" problems
214-
215-
### **Organizations**
216-
- Standardize development environments across teams
217-
- Maintain compliance with required tools and versions
218-
- Reduce IT support burden for developer setup
219-
- Break down barriers between teams and departments
220-
221191
## Example Configurations
222192
223193
### Full-Stack JavaScript Developer
@@ -298,41 +268,21 @@ Run `codify --help` for a complete list of commands and options.
298268
]
299269
```
300270
301-
## Why Codify vs. Alternatives?
302-
303-
| Feature | Codify | Homebrew Bundle | Shell Scripts | Manual Setup |
304-
|----------------------------------|:------:|:---------------:|:-------------:|:------------:|
305-
| Declarative configuration | ✅ | ✅ | ❌ | ❌ |
306-
| Plan before apply | ✅ | ❌ | ❌ | ❌ |
307-
| Import existing setup | ✅ | ❌ | ❌ | ❌ |
308-
| Multi-format support | ✅ | ❌ | ❌ | ❌ |
309-
| Web-based editor | ✅ | ❌ | ❌ | ❌ |
310-
| Cross-tool management | ✅ | ❌ | ⚠️ | ❌ |
311-
| Extensible plugins | ✅ | ❌ | ⚠️ | ❌ |
312-
| Cloud sync | ✅ | ❌ | ❌ | ❌ |
313-
| Update detection | ✅ | ✅ | ❌ | ❌ |
314-
315271
## Frequently Asked Questions
316272
317273
**Q: Does Codify work on Linux and Windows?**
318274
A: Codify currently supports macOS and Linux. Windows support works via WSL.
319275
320-
**Q: Can I use Codify with my existing Homebrew setup?**
321-
A: Yes! Run `codify init` to import your existing packages into a Codify configuration.
322-
323-
**Q: Is my sudo password stored?**
324-
A: No. Codify only caches your password in memory during a session and prompts when needed. Use `--secure` mode for extra protection.
325-
326276
**Q: How is this different from Ansible/Chef/Puppet?**
327277
A: Those tools are designed for server configuration management. Codify is purpose-built for local development environments with a focus on simplicity and developer experience.
328278
329279
## Community & Support
330280
331-
- 📚 **Documentation**: [docs.codifycli.com](https://docs.codifycli.com)
332-
- 🐛 **Issues**: [GitHub Issues](https://github.com/codifycli/codify/issues)
333-
- 💬 **Default Plugin**: [GitHub Default Plugin](https://github.com/codifycli/default-plugin)
334-
- 🌐 **Website**: [codifycli.com](https://codifycli.com)
335-
- ☁️ **Editor**: [dashboard.codifycli.com](https://dashboard.codifycli.com)
281+
- **Documentation**: [codifycli.com/docs](https://codifycli.com/docs)
282+
- **Issues**: [GitHub Issues](https://github.com/codifycli/codify/issues)
283+
- **Default Plugin**: [GitHub Default Plugin](https://github.com/codifycli/default-plugin)
284+
- **Website**: [codifycli.com](https://codifycli.com)
285+
- **Editor**: [dashboard.codifycli.com](https://dashboard.codifycli.com)
336286
337287
## Contributing
338288
@@ -351,5 +301,5 @@ This project is licensed under the [Apache 2.0 License](LICENSE).
351301
<p align="center">
352302
<a href="https://codifycli.com">codifycli.com</a> •
353303
<a href="https://github.com/codifycli/codify">GitHub</a> •
354-
<a href="https://docs.codifycli.com">Docs</a>
304+
<a href="https://codifycli.com/docs">Docs</a>
355305
</p>

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,10 @@
142142
"version": "oclif readme && git add README.md",
143143
"start:dev": "./bin/dev.js",
144144
"start:vm": "npm run build && npm run pack:macos && npm run start:vm",
145-
"deploy": "npm run pkg && npm run notarize && npm run upload"
145+
"deploy": "npm run pkg && npm run notarize && npm run upload",
146+
"prepublishOnly": "npm run build"
146147
},
147-
"version": "1.0.0",
148+
"version": "1.0.1",
148149
"bugs": "https://github.com/codifycli/codify/issues",
149150
"keywords": [
150151
"oclif",

scripts/install-beta.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,6 @@ SCRIPT
8484
CYAN='\033[0;36m'
8585
END_ESCAPE='\033[0m'
8686

87-
printf "${CYAN}\n🎉 %s 🎉\n%s${END_ESCAPE}\n" "Successfully installed Codify. Type codify --help for a list of commands." "Visit the documentation at https://docs.codifycli.com for more info."
87+
printf "${CYAN}\n🎉 %s 🎉\n%s${END_ESCAPE}\n" "Successfully installed Codify. Type codify --help for a list of commands." "Visit the documentation at https://codifycli.com/docs for more info."
8888
exit 0;
8989
}

scripts/install.sh

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
if [ "\$ARCH" == "x86_64" ]; then
3131
ARCH=x64
3232
elif [[ "\$ARCH" == aarch* ]]; then
33-
ARCH=arm
33+
ARCH=arm64
3434
elif [[ "\$ARCH" == "arm64" ]]; then
3535
ARCH=arm64
3636
else
@@ -56,9 +56,17 @@
5656
fi
5757
echo "Installing CLI from \$URL"
5858
if [ \$(command -v curl) ]; then
59-
curl "\$URL" | tar "\$TAR_ARGS"
59+
if [ "\$OS" = "darwin" ]; then
60+
curl "\$URL" | tar "\$TAR_ARGS"
61+
else
62+
curl "\$URL" | tar "\$TAR_ARGS" --warning=no-unknown-keyword
63+
fi
6064
else
61-
wget -O- "\$URL" | tar "\$TAR_ARGS"
65+
if [ "\$OS" = "darwin" ]; then
66+
wget -O- "\$URL" | tar "\$TAR_ARGS"
67+
else
68+
wget -O- "\$URL" | tar "\$TAR_ARGS" --warning=no-unknown-keyword
69+
fi
6270
fi
6371
# delete old codify bin if exists
6472
rm -f \$(command -v codify) || true
@@ -76,6 +84,6 @@ SCRIPT
7684
CYAN='\033[0;36m'
7785
END_ESCAPE='\033[0m'
7886

79-
printf "${CYAN}\n🎉 %s 🎉\n%s${END_ESCAPE}\n" "Successfully installed Codify. Type codify --help for a list of commands." "Visit the documentation at https://docs.codifycli.com for more info."
87+
printf "${CYAN}\n🎉 %s 🎉\n%s${END_ESCAPE}\n" "Successfully installed Codify. Type codify --help for a list of commands." "Visit the documentation at https://codifycli.com/docs for more info."
8088
exit 0;
8189
}

src/commands/apply.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ any changes.
1616
For scripts: use ${chalk.bold.bgMagenta(' --output json ')} which will skip approval and
1717
apply changes directly.
1818
19-
For more information, visit: https://docs.codifycli.com/commands/apply
19+
For more information, visit: https://codifycli.com/docs/commands/apply
2020
`
2121

2222
static flags = {

src/commands/connect.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export default class Connect extends BaseCommand {
66
`Open a connection to the Codify dashboard. This command will host a local server to receive commands (e.g. apply, destroy, etc.)
77
from the Codify dashboard.
88
9-
For more information, visit: https://docs.codifycli.com/commands/connect
9+
For more information, visit: https://codifycli.com/docs/commands/connect
1010
`
1111

1212
static flags = {}

src/commands/destroy.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ with a matching type.
1818
• If a codify.jsonc file doesn't exist, additional information may be asked to identify
1919
the specific resource to destroy.
2020
21-
For more information, visit: https://docs.codifycli.com/commands/destory`
21+
For more information, visit: https://codifycli.com/docs/commands/destory`
2222

2323
static examples = [
2424
'<%= config.bin %> <%= command.id %> homebrew nvm',

src/commands/edit.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export default class Edit extends BaseCommand {
55
static description =
66
`Short cut for opening your default Codify file in the Codify dashboard.
77
8-
For more information, visit: https://docs.codifycli.com/commands/edit
8+
For more information, visit: https://codifycli.com/docs/commands/edit
99
`
1010

1111
static flags = {}

src/commands/import.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ The results can be saved in one of three ways:
3030
3131
Codify will attempt to smartly insert new configurations while preserving existing spacing and formatting.
3232
33-
For more information, visit: https://docs.codifycli.com/commands/import`
33+
For more information, visit: https://codifycli.com/docs/commands/import`
3434

3535
static override examples = [
3636
'<%= config.bin %> <%= command.id %> homebrew nvm asdf',

src/commands/init.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Use this command to automatically generate Codify configs based on
1414
the currently installed system resources. By default, the new file
1515
will be written to ${chalk.bold.bgMagenta(' ~/codify.jsonc ')}.
1616
17-
For more information, visit: https://docs.codifycli.com/commands/init`
17+
For more information, visit: https://codifycli.com/docs/commands/init`
1818

1919
static baseFlags= {
2020
...BaseCommand.baseFlags,

0 commit comments

Comments
 (0)