|
1
|
# boilerworks init |
|
2
|
|
|
3
|
Generate a project from a `boilerworks.yaml` manifest. |
|
4
|
|
|
5
|
```bash |
|
6
|
boilerworks init |
|
7
|
boilerworks init --manifest path/to/boilerworks.yaml |
|
8
|
boilerworks init --output ~/repos/ |
|
9
|
boilerworks init --dry-run |
|
10
|
``` |
|
11
|
|
|
12
|
## Options |
|
13
|
|
|
14
|
| Option | Description | |
|
15
|
|--------|-------------| |
|
16
|
| `--manifest PATH` | Manifest file to read (default: `boilerworks.yaml` in cwd) | |
|
17
|
| `--output PATH` | Where to create the project directory (default: `.`) | |
|
18
|
| `--dry-run` | Print what would happen without touching the filesystem | |
|
19
|
|
|
20
|
## What it does |
|
21
|
|
|
22
|
1. Reads and validates `boilerworks.yaml` |
|
23
|
2. Clones `ConflictHQ/boilerworks-{family}` → `{output}/{project}/` |
|
24
|
3. Removes `.git/` from the clone |
|
25
|
4. Runs string replacement across all text files: `boilerworks` → `{project}` (3 case variants) |
|
26
|
5. Renames files and directories containing `boilerworks` |
|
27
|
6. If `ops: true` and `cloud` is set: |
|
28
|
- Clones `ConflictHQ/boilerworks-opscode` |
|
29
|
- Standard topology: places it at `{output}/{project}-ops/` |
|
30
|
- Omni topology: places it at `{output}/{project}/ops/` |
|
31
|
- Writes `{cloud}/config.env` with project name, region, domain |
|
32
|
7. Runs `git init` + initial commit |
|
33
|
|
|
34
|
## Clone auth |
|
35
|
|
|
36
|
The CLI tries SSH first, then HTTPS: |
|
37
|
|
|
38
|
``` |
|
39
|
[email protected]:ConflictHQ/boilerworks-{family}.git ← tried first |
|
40
|
https://github.com/ConflictHQ/boilerworks-{family}.git ← fallback |
|
41
|
``` |
|
42
|
|
|
43
|
## Dry run example |
|
44
|
|
|
45
|
```bash |
|
46
|
boilerworks init --dry-run |
|
47
|
|
|
48
|
1. Clone ConflictHQ/boilerworks-django-nextjs |
|
49
|
2. Remove .git/ from cloned directory |
|
50
|
3. Replace all 'boilerworks' → 'my-app' (case-variant) |
|
51
|
4. Rename files/dirs containing 'boilerworks' |
|
52
|
5. Update CLAUDE.md and README.md headers |
|
53
|
6. git init + initial commit in /Users/me/repos/my-app |
|
54
|
7. Clone ConflictHQ/boilerworks-opscode → /Users/me/repos/my-app-ops |
|
55
|
8. Render + rename ops files (boilerworks → my-app) |
|
56
|
9. Write aws/config.env (project, region, domain) |
|
57
|
10. git init ops repo in /Users/me/repos/my-app-ops |
|
58
|
|
|
59
|
Output directory: /Users/me/repos/my-app |
|
60
|
``` |
|
61
|
|