@f12r/f12r 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AI_CONTEXT.md +186 -0
- package/README.md +113 -0
- package/RELEASE_GUIDE.md +289 -0
- package/package.json +1 -1
package/AI_CONTEXT.md
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# AI Context For f12r
|
|
2
|
+
|
|
3
|
+
This file is meant to help a future AI agent understand the `f12r` project quickly.
|
|
4
|
+
|
|
5
|
+
## Project Identity
|
|
6
|
+
|
|
7
|
+
- Project name: `f12r`
|
|
8
|
+
- CLI command: `f12r`
|
|
9
|
+
- Source repository: `https://github.com/FahimMuntashir/f12r`
|
|
10
|
+
- npm package: `@f12r/f12r`
|
|
11
|
+
- Homebrew tap repository: `https://github.com/FahimMuntashir/homebrew-f12r`
|
|
12
|
+
- Homebrew install command: `brew install FahimMuntashir/f12r/f12r`
|
|
13
|
+
|
|
14
|
+
## Project Purpose
|
|
15
|
+
|
|
16
|
+
`f12r` is a macOS-focused Node.js CLI that helps developers set up and manage a development environment.
|
|
17
|
+
|
|
18
|
+
Main commands:
|
|
19
|
+
|
|
20
|
+
- `f12r doctor`
|
|
21
|
+
- `f12r setup`
|
|
22
|
+
- `f12r uninstall`
|
|
23
|
+
|
|
24
|
+
Bonus command behavior:
|
|
25
|
+
|
|
26
|
+
- `f12r setup --all`
|
|
27
|
+
|
|
28
|
+
## Tech Stack
|
|
29
|
+
|
|
30
|
+
- Node.js
|
|
31
|
+
- CommonJS modules
|
|
32
|
+
- `commander`
|
|
33
|
+
- `inquirer`
|
|
34
|
+
- `chalk`
|
|
35
|
+
- `ora`
|
|
36
|
+
- `execa`
|
|
37
|
+
|
|
38
|
+
## Current Source Structure
|
|
39
|
+
|
|
40
|
+
- [index.js](/Users/innospace/Desktop/f12r/index.js): CLI entrypoint and command registration
|
|
41
|
+
- [commands/doctor.js](/Users/innospace/Desktop/f12r/commands/doctor.js): doctor command
|
|
42
|
+
- [commands/setup.js](/Users/innospace/Desktop/f12r/commands/setup.js): setup command
|
|
43
|
+
- [commands/uninstall.js](/Users/innospace/Desktop/f12r/commands/uninstall.js): uninstall command
|
|
44
|
+
- [utils/checker.js](/Users/innospace/Desktop/f12r/utils/checker.js): command detection and version checks
|
|
45
|
+
- [utils/installer.js](/Users/innospace/Desktop/f12r/utils/installer.js): Homebrew/npm install helpers and VS Code extension installs
|
|
46
|
+
- [utils/logger.js](/Users/innospace/Desktop/f12r/utils/logger.js): colored log wrappers
|
|
47
|
+
- [utils/prompts.js](/Users/innospace/Desktop/f12r/utils/prompts.js): Inquirer prompt helpers
|
|
48
|
+
- [package.json](/Users/innospace/Desktop/f12r/package.json): package metadata and CLI bin declaration
|
|
49
|
+
|
|
50
|
+
## Important Functional Behavior
|
|
51
|
+
|
|
52
|
+
### `doctor`
|
|
53
|
+
|
|
54
|
+
Checks:
|
|
55
|
+
|
|
56
|
+
- Homebrew
|
|
57
|
+
- Git
|
|
58
|
+
- Node.js
|
|
59
|
+
- npm
|
|
60
|
+
- Docker
|
|
61
|
+
- VS Code
|
|
62
|
+
|
|
63
|
+
Shows installed/not installed and version when available.
|
|
64
|
+
|
|
65
|
+
### `setup`
|
|
66
|
+
|
|
67
|
+
- ensures Homebrew exists
|
|
68
|
+
- checks installed tools
|
|
69
|
+
- skips tools already installed
|
|
70
|
+
- prompts to install missing tools unless `--all` is used
|
|
71
|
+
- optionally installs VS Code extensions:
|
|
72
|
+
- `esbenp.prettier-vscode`
|
|
73
|
+
- `dbaeumer.vscode-eslint`
|
|
74
|
+
- `GitHub.copilot`
|
|
75
|
+
|
|
76
|
+
### `uninstall`
|
|
77
|
+
|
|
78
|
+
- shows supported removable tools
|
|
79
|
+
- uses Homebrew uninstall
|
|
80
|
+
- prompts before uninstalling
|
|
81
|
+
|
|
82
|
+
## Publishing History And Constraints
|
|
83
|
+
|
|
84
|
+
### npm naming
|
|
85
|
+
|
|
86
|
+
The unscoped name `f12r` was rejected by npm because it was too similar to an existing package.
|
|
87
|
+
|
|
88
|
+
The working package name is:
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
"name": "@f12r/f12r"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### CLI command name
|
|
95
|
+
|
|
96
|
+
Even though the npm package is scoped, the user-facing command remains:
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
"bin": {
|
|
100
|
+
"f12r": "index.js"
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Homebrew
|
|
105
|
+
|
|
106
|
+
Homebrew installation currently works through a custom tap, not `homebrew/core`.
|
|
107
|
+
|
|
108
|
+
Supported public install command:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
brew install FahimMuntashir/f12r/f12r
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Not supported yet:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
brew install f12r
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Homebrew Formula Details
|
|
121
|
+
|
|
122
|
+
Tap local path on the maintainer machine:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
/opt/homebrew/Library/Taps/fahimmuntashir/homebrew-f12r
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Formula path:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
/opt/homebrew/Library/Taps/fahimmuntashir/homebrew-f12r/Formula/f12r.rb
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Current formula strategy:
|
|
135
|
+
|
|
136
|
+
- `depends_on "node"`
|
|
137
|
+
- installs from npm tarball URL
|
|
138
|
+
- uses `system "npm", "install", *std_npm_args`
|
|
139
|
+
- wraps the `f12r` executable with `write_env_script`
|
|
140
|
+
|
|
141
|
+
## Important Operational Notes
|
|
142
|
+
|
|
143
|
+
### If a maintainer wants to release a new version
|
|
144
|
+
|
|
145
|
+
Use [RELEASE_GUIDE.md](/Users/innospace/Desktop/f12r/RELEASE_GUIDE.md).
|
|
146
|
+
|
|
147
|
+
High-level flow:
|
|
148
|
+
|
|
149
|
+
1. change code
|
|
150
|
+
2. bump version
|
|
151
|
+
3. push git changes and tags
|
|
152
|
+
4. publish npm package
|
|
153
|
+
5. update Homebrew formula URL and SHA
|
|
154
|
+
6. test brew install
|
|
155
|
+
7. push the tap repo
|
|
156
|
+
|
|
157
|
+
### If `brew untap` breaks the shell
|
|
158
|
+
|
|
159
|
+
This happened before because the shell was inside the tap directory when untapping it.
|
|
160
|
+
|
|
161
|
+
Always move elsewhere first:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
cd ~
|
|
165
|
+
brew untap FahimMuntashir/f12r
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### If npm tokens are exposed
|
|
169
|
+
|
|
170
|
+
Revoke them immediately from npm account settings.
|
|
171
|
+
|
|
172
|
+
## Recommended Future Improvements
|
|
173
|
+
|
|
174
|
+
- add automated tests
|
|
175
|
+
- add a proper README with examples and screenshots or terminal demos
|
|
176
|
+
- add GitHub Actions for lint/test on the source repo
|
|
177
|
+
- optionally support more tools
|
|
178
|
+
- optionally detect missing VS Code `code` shell command more explicitly
|
|
179
|
+
|
|
180
|
+
## Best Files To Read First For Any Future Agent
|
|
181
|
+
|
|
182
|
+
1. [package.json](/Users/innospace/Desktop/f12r/package.json)
|
|
183
|
+
2. [index.js](/Users/innospace/Desktop/f12r/index.js)
|
|
184
|
+
3. [utils/checker.js](/Users/innospace/Desktop/f12r/utils/checker.js)
|
|
185
|
+
4. [utils/installer.js](/Users/innospace/Desktop/f12r/utils/installer.js)
|
|
186
|
+
5. [RELEASE_GUIDE.md](/Users/innospace/Desktop/f12r/RELEASE_GUIDE.md)
|
package/README.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# f12r
|
|
2
|
+
|
|
3
|
+
`f12r` is a macOS CLI for checking, installing, and uninstalling common developer tools.
|
|
4
|
+
|
|
5
|
+
It helps developers:
|
|
6
|
+
|
|
7
|
+
- inspect their machine with `f12r doctor`
|
|
8
|
+
- install missing tools with `f12r setup`
|
|
9
|
+
- install everything non-interactively with `f12r setup --all`
|
|
10
|
+
- remove supported tools with `f12r uninstall`
|
|
11
|
+
|
|
12
|
+
## Features
|
|
13
|
+
|
|
14
|
+
- checks for Homebrew, Git, Node.js, npm, Docker, and VS Code
|
|
15
|
+
- shows friendly colored output
|
|
16
|
+
- installs missing tools with Homebrew
|
|
17
|
+
- installs selected VS Code extensions
|
|
18
|
+
- supports interactive and `--all` setup flows
|
|
19
|
+
- works as a global CLI command: `f12r`
|
|
20
|
+
|
|
21
|
+
## Install
|
|
22
|
+
|
|
23
|
+
### Homebrew
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
brew install FahimMuntashir/f12r/f12r
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### npm
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install -g @f12r/f12r
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Quick Start
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
f12r --help
|
|
39
|
+
f12r doctor
|
|
40
|
+
f12r setup
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Commands
|
|
44
|
+
|
|
45
|
+
### `f12r doctor`
|
|
46
|
+
|
|
47
|
+
Checks whether these tools are installed:
|
|
48
|
+
|
|
49
|
+
- Homebrew
|
|
50
|
+
- Git
|
|
51
|
+
- Node.js
|
|
52
|
+
- npm
|
|
53
|
+
- Docker
|
|
54
|
+
- VS Code
|
|
55
|
+
|
|
56
|
+
It also shows version info when available.
|
|
57
|
+
|
|
58
|
+
### `f12r setup`
|
|
59
|
+
|
|
60
|
+
- detects missing tools
|
|
61
|
+
- installs Homebrew automatically if needed
|
|
62
|
+
- asks before installing each missing tool
|
|
63
|
+
- can install these VS Code extensions:
|
|
64
|
+
- `esbenp.prettier-vscode`
|
|
65
|
+
- `dbaeumer.vscode-eslint`
|
|
66
|
+
- `GitHub.copilot`
|
|
67
|
+
|
|
68
|
+
### `f12r setup --all`
|
|
69
|
+
|
|
70
|
+
Installs all missing supported tools without per-tool prompts.
|
|
71
|
+
|
|
72
|
+
### `f12r uninstall`
|
|
73
|
+
|
|
74
|
+
Lets the user choose a supported tool to remove with Homebrew.
|
|
75
|
+
|
|
76
|
+
## Local Development
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npm install
|
|
80
|
+
node index.js --help
|
|
81
|
+
node index.js doctor
|
|
82
|
+
node index.js setup
|
|
83
|
+
node index.js uninstall
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
To link it globally on your machine:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npm link
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Tech Stack
|
|
93
|
+
|
|
94
|
+
- Node.js
|
|
95
|
+
- CommonJS
|
|
96
|
+
- commander
|
|
97
|
+
- inquirer
|
|
98
|
+
- chalk
|
|
99
|
+
- ora
|
|
100
|
+
- execa
|
|
101
|
+
|
|
102
|
+
## Project Links
|
|
103
|
+
|
|
104
|
+
- GitHub source: `https://github.com/FahimMuntashir/f12r`
|
|
105
|
+
- Homebrew tap: `https://github.com/FahimMuntashir/homebrew-f12r`
|
|
106
|
+
- npm package: `@f12r/f12r`
|
|
107
|
+
|
|
108
|
+
## Maintainer Notes
|
|
109
|
+
|
|
110
|
+
If you are updating or republishing this project later, use:
|
|
111
|
+
|
|
112
|
+
- `RELEASE_GUIDE.md` for the full release workflow
|
|
113
|
+
- `AI_CONTEXT.md` for future AI-agent handoff context
|
package/RELEASE_GUIDE.md
ADDED
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
# f12r Release Guide
|
|
2
|
+
|
|
3
|
+
This file is a beginner-friendly guide for publishing and updating `f12r`.
|
|
4
|
+
|
|
5
|
+
## Quick Summary
|
|
6
|
+
|
|
7
|
+
The project has 3 public pieces:
|
|
8
|
+
|
|
9
|
+
1. Source code repository
|
|
10
|
+
2. npm package
|
|
11
|
+
3. Homebrew formula
|
|
12
|
+
|
|
13
|
+
Current public setup:
|
|
14
|
+
|
|
15
|
+
- GitHub source repo: `https://github.com/FahimMuntashir/f12r`
|
|
16
|
+
- Homebrew tap repo: `https://github.com/FahimMuntashir/homebrew-f12r`
|
|
17
|
+
- npm package name: `@f12r/f12r`
|
|
18
|
+
- Homebrew install command: `brew install FahimMuntashir/f12r/f12r`
|
|
19
|
+
|
|
20
|
+
## One-Time Setup That Is Already Done
|
|
21
|
+
|
|
22
|
+
These are already completed for this project:
|
|
23
|
+
|
|
24
|
+
- GitHub repo created
|
|
25
|
+
- npm account connected
|
|
26
|
+
- npm package published
|
|
27
|
+
- Homebrew tap created
|
|
28
|
+
- Homebrew formula added
|
|
29
|
+
- Global `brew install FahimMuntashir/f12r/f12r` tested successfully
|
|
30
|
+
|
|
31
|
+
## How Users Install f12r
|
|
32
|
+
|
|
33
|
+
### Option 1: Homebrew
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
brew install FahimMuntashir/f12r/f12r
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Option 2: npm
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm install -g @f12r/f12r
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Very Important Safety Notes
|
|
46
|
+
|
|
47
|
+
### 1. If you ever paste an npm token somewhere public
|
|
48
|
+
|
|
49
|
+
Revoke it immediately in npm account settings and create a new token.
|
|
50
|
+
|
|
51
|
+
### 2. Do not rename the CLI command
|
|
52
|
+
|
|
53
|
+
The npm package name is scoped as `@f12r/f12r`, but the actual command should stay:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
f12r
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 3. `brew install f12r` is not available yet
|
|
60
|
+
|
|
61
|
+
The public install command for now is:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
brew install FahimMuntashir/f12r/f12r
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`brew install f12r` only becomes possible if Homebrew later accepts the package into `homebrew/core`.
|
|
68
|
+
|
|
69
|
+
## Normal Release Flow For A New Version
|
|
70
|
+
|
|
71
|
+
Example: releasing `1.0.1`
|
|
72
|
+
|
|
73
|
+
### Step 1. Make your code changes
|
|
74
|
+
|
|
75
|
+
Update the source code in this repo and test locally:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
npm install
|
|
79
|
+
node index.js doctor
|
|
80
|
+
node index.js --help
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
If needed:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
node index.js setup
|
|
87
|
+
node index.js uninstall
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Step 2. Bump the version
|
|
91
|
+
|
|
92
|
+
For a patch release:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npm version patch
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
For a minor release:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npm version minor
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
For a major release:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
npm version major
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
This updates `package.json`, updates `package-lock.json`, and creates a git tag.
|
|
111
|
+
|
|
112
|
+
### Step 3. Push source code to GitHub
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
git push
|
|
116
|
+
git push --tags
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Step 4. Publish the new npm version
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
npm publish --access=public
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Then verify:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
npm view @f12r/f12r version
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
If npm has a short delay, wait a few minutes and try again.
|
|
132
|
+
|
|
133
|
+
### Step 5. Update the Homebrew formula
|
|
134
|
+
|
|
135
|
+
The formula lives in the tap repo, not in this source repo.
|
|
136
|
+
|
|
137
|
+
Formula path:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
/opt/homebrew/Library/Taps/fahimmuntashir/homebrew-f12r/Formula/f12r.rb
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Update:
|
|
144
|
+
|
|
145
|
+
- `url`
|
|
146
|
+
- `sha256`
|
|
147
|
+
|
|
148
|
+
The URL format will be:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
https://registry.npmjs.org/@f12r/f12r/-/f12r-VERSION.tgz
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Example:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
https://registry.npmjs.org/@f12r/f12r/-/f12r-1.0.1.tgz
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Step 6. Get the new SHA256
|
|
161
|
+
|
|
162
|
+
Run:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
curl -L https://registry.npmjs.org/@f12r/f12r/-/f12r-1.0.1.tgz | shasum -a 256
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Copy the SHA256 output into the formula.
|
|
169
|
+
|
|
170
|
+
### Step 7. Test the Homebrew formula
|
|
171
|
+
|
|
172
|
+
First move to a safe existing directory:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
cd ~
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Then run:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
brew audit --strict FahimMuntashir/f12r/f12r
|
|
182
|
+
brew reinstall --build-from-source FahimMuntashir/f12r/f12r
|
|
183
|
+
f12r --version
|
|
184
|
+
f12r doctor
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
If `brew reinstall` gives trouble, use:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
brew uninstall f12r
|
|
191
|
+
brew install FahimMuntashir/f12r/f12r
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Step 8. Push the updated formula
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
cd /opt/homebrew/Library/Taps/fahimmuntashir/homebrew-f12r
|
|
198
|
+
git status
|
|
199
|
+
git add Formula/f12r.rb
|
|
200
|
+
git commit -m "Update f12r to 1.0.1"
|
|
201
|
+
git push
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
After this, Homebrew users can install the new version.
|
|
205
|
+
|
|
206
|
+
## First-Time Homebrew Formula Reference
|
|
207
|
+
|
|
208
|
+
Current working formula:
|
|
209
|
+
|
|
210
|
+
```rb
|
|
211
|
+
class F12r < Formula
|
|
212
|
+
desc "CLI to set up and manage a macOS development environment"
|
|
213
|
+
homepage "https://github.com/FahimMuntashir/f12r"
|
|
214
|
+
url "https://registry.npmjs.org/@f12r/f12r/-/f12r-1.0.0.tgz"
|
|
215
|
+
sha256 "aa8232c019f1d368f775f973bd743494f7747de6a6db074d6cbe5762a0e660b9"
|
|
216
|
+
license "MIT"
|
|
217
|
+
|
|
218
|
+
depends_on "node"
|
|
219
|
+
|
|
220
|
+
def install
|
|
221
|
+
system "npm", "install", *std_npm_args
|
|
222
|
+
(bin/"f12r").write_env_script libexec/"bin/f12r", PATH: "#{Formula["node"].opt_bin}:$PATH"
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
test do
|
|
226
|
+
assert_match "f12r", shell_output("#{bin}/f12r --help")
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## Common Problems
|
|
232
|
+
|
|
233
|
+
### Problem: npm says package name is too similar to another package
|
|
234
|
+
|
|
235
|
+
Use the scoped npm package name:
|
|
236
|
+
|
|
237
|
+
```json
|
|
238
|
+
"name": "@f12r/f12r"
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Problem: `npm view @f12r/f12r version` returns 404 right after publish
|
|
242
|
+
|
|
243
|
+
Wait a few minutes and try again. npm can take a short time to update.
|
|
244
|
+
|
|
245
|
+
### Problem: `brew untap` breaks the current terminal directory
|
|
246
|
+
|
|
247
|
+
This happens if you are standing inside the tap folder while untapping it.
|
|
248
|
+
|
|
249
|
+
Wrong:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
cd /opt/homebrew/Library/Taps/fahimmuntashir/homebrew-f12r
|
|
253
|
+
brew untap FahimMuntashir/f12r
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Correct:
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
cd ~
|
|
260
|
+
brew untap FahimMuntashir/f12r
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Problem: Homebrew install works locally but not for others
|
|
264
|
+
|
|
265
|
+
Check these:
|
|
266
|
+
|
|
267
|
+
- the tap repo was pushed to GitHub
|
|
268
|
+
- the formula file was committed and pushed
|
|
269
|
+
- the npm tarball URL in the formula is correct
|
|
270
|
+
- the SHA256 matches the published tarball
|
|
271
|
+
|
|
272
|
+
### Problem: `brew install f12r` does not work
|
|
273
|
+
|
|
274
|
+
That is expected for now.
|
|
275
|
+
|
|
276
|
+
Use:
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
brew install FahimMuntashir/f12r/f12r
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
## What To Tell Future AI Agents
|
|
283
|
+
|
|
284
|
+
If you use another AI later, share:
|
|
285
|
+
|
|
286
|
+
- [AI_CONTEXT.md](/Users/innospace/Desktop/f12r/AI_CONTEXT.md)
|
|
287
|
+
- [RELEASE_GUIDE.md](/Users/innospace/Desktop/f12r/RELEASE_GUIDE.md)
|
|
288
|
+
|
|
289
|
+
That will give the AI the correct project and publishing context quickly.
|