@daawoonkim/create-arch-app 0.1.0 โ†’ 0.2.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.
@@ -0,0 +1,172 @@
1
+ # Contributing to create-arch-app
2
+
3
+ Thank you for your interest in contributing to create-arch-app! ๐ŸŽ‰
4
+
5
+ ## ๐Ÿš€ Getting Started
6
+
7
+ ### Prerequisites
8
+ - Node.js 18.0.0 or higher
9
+ - npm or yarn
10
+ - Git
11
+
12
+ ### Setup Development Environment
13
+
14
+ ```bash
15
+ # Clone the repository
16
+ git clone git@github.com:hec8897/create-arch-app.git
17
+ cd create-arch-app
18
+
19
+ # Install dependencies
20
+ npm install
21
+
22
+ # Build the project
23
+ npm run build
24
+
25
+ # Link for local testing
26
+ npm link
27
+ ```
28
+
29
+ ## ๐Ÿ”„ Development Workflow
30
+
31
+ ### 1. Create a Feature Branch
32
+
33
+ ```bash
34
+ git checkout main
35
+ git pull origin main
36
+ git checkout -b feature/your-feature-name
37
+ ```
38
+
39
+ ### 2. Make Your Changes
40
+
41
+ - Write clear, concise commit messages
42
+ - Follow existing code style
43
+ - Add tests if applicable
44
+ - Update documentation
45
+
46
+ ### 3. Test Your Changes
47
+
48
+ ```bash
49
+ # Build
50
+ npm run build
51
+
52
+ # Test locally
53
+ cd ~/test-projects
54
+ create-arch-app test-app
55
+
56
+ # Verify the generated project
57
+ cd test-app
58
+ npm install
59
+ npm run dev
60
+ ```
61
+
62
+ ### 4. Commit Your Changes
63
+
64
+ ```bash
65
+ git add .
66
+ git commit -m "feat: add new feature"
67
+ ```
68
+
69
+ **Commit Message Format:**
70
+ - `feat:` - New feature
71
+ - `fix:` - Bug fix
72
+ - `docs:` - Documentation changes
73
+ - `style:` - Code style changes (formatting, etc.)
74
+ - `refactor:` - Code refactoring
75
+ - `test:` - Adding or updating tests
76
+ - `chore:` - Build process or auxiliary tool changes
77
+
78
+ ### 5. Push and Create PR
79
+
80
+ ```bash
81
+ git push origin feature/your-feature-name
82
+ ```
83
+
84
+ Then create a Pull Request on GitHub.
85
+
86
+ ## ๐Ÿ“ Code Guidelines
87
+
88
+ ### TypeScript
89
+ - Use TypeScript for all new code
90
+ - Maintain type safety
91
+ - Use interfaces for public APIs
92
+
93
+ ### File Structure
94
+ - Keep generators modular
95
+ - Separate concerns (prompts, generators, utils)
96
+ - Use meaningful file and function names
97
+
98
+ ### Testing
99
+ - Test major features manually
100
+ - Verify all architecture patterns work
101
+ - Check both React and Next.js outputs
102
+
103
+ ## ๐Ÿ› Bug Reports
104
+
105
+ When reporting bugs, please include:
106
+ - Steps to reproduce
107
+ - Expected behavior
108
+ - Actual behavior
109
+ - Your environment (OS, Node version)
110
+ - CLI options used
111
+
112
+ ## ๐Ÿ’ก Feature Requests
113
+
114
+ We welcome feature requests! Please:
115
+ - Check if it already exists in issues
116
+ - Describe the use case
117
+ - Explain why it would be useful
118
+ - Consider backward compatibility
119
+
120
+ ## ๐Ÿ“ฆ Adding New Features
121
+
122
+ ### Adding a New Architecture Pattern
123
+
124
+ 1. Update `src/types.ts` with new architecture type
125
+ 2. Add prompt option in `src/prompts/projectSetup.ts`
126
+ 3. Create generator logic in `src/generators/`
127
+ 4. Test with both React and Next.js
128
+ 5. Update README.md and documentation
129
+
130
+ ### Adding a New Library Option
131
+
132
+ 1. Update types in `src/types.ts`
133
+ 2. Add prompt in `src/prompts/projectSetup.ts`
134
+ 3. Update `src/utils/dependencies.ts`
135
+ 4. Update generators to include the library
136
+ 5. Test integration
137
+ 6. Update documentation
138
+
139
+ ## โœ… Pull Request Checklist
140
+
141
+ Before submitting a PR, ensure:
142
+
143
+ - [ ] Code builds successfully (`npm run build`)
144
+ - [ ] Tested manually with at least 2 architecture patterns
145
+ - [ ] Updated README.md if needed
146
+ - [ ] Updated CHANGELOG.md
147
+ - [ ] Commit messages follow convention
148
+ - [ ] No console.logs in production code
149
+ - [ ] TypeScript types are correct
150
+
151
+ ## ๐ŸŽฏ Priority Areas
152
+
153
+ We're especially interested in contributions for:
154
+ - Additional architecture patterns
155
+ - More library integrations
156
+ - Improved error handling
157
+ - Better testing coverage
158
+ - Documentation improvements
159
+
160
+ ## ๐Ÿ“ž Questions?
161
+
162
+ - Open an issue for discussion
163
+ - Check existing issues and PRs
164
+ - Review documentation
165
+
166
+ ## ๐Ÿ“„ License
167
+
168
+ By contributing, you agree that your contributions will be licensed under the MIT License.
169
+
170
+ ---
171
+
172
+ Thank you for contributing! ๐Ÿ™
package/PUBLISHING.md ADDED
@@ -0,0 +1,304 @@
1
+ # npm ๋ฐฐํฌ ๊ฐ€์ด๋“œ
2
+
3
+ ์ด ๋ฌธ์„œ๋Š” `@daawoonkim/create-arch-app` ํŒจํ‚ค์ง€๋ฅผ npm์— ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
4
+
5
+ ## ๐Ÿ“‹ ์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ
6
+
7
+ - npm ๊ณ„์ • (https://www.npmjs.com/)
8
+ - npm CLI ๋กœ๊ทธ์ธ
9
+ - ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์™„๋ฃŒ
10
+
11
+ ## ๐Ÿ” 1. npm ์ธ์ฆ ์„ค์ •
12
+
13
+ ### ๋ฐฉ๋ฒ• 1: Automation Token ์‚ฌ์šฉ (๊ถŒ์žฅ)
14
+
15
+ **npm ์›น์‚ฌ์ดํŠธ์—์„œ ํ† ํฐ ์ƒ์„ฑ:**
16
+
17
+ 1. https://www.npmjs.com/settings/daawoonkim/tokens ์ ‘์†
18
+ 2. "Generate New Token" ํด๋ฆญ
19
+ 3. **Token Type: "Automation"** ์„ ํƒ (์ค‘์š”!)
20
+ 4. ์„ค๋ช… ์ž…๋ ฅ (์˜ˆ: "create-arch-app deployment")
21
+ 5. "Generate Token" ํด๋ฆญ
22
+ 6. ํ† ํฐ ๋ณต์‚ฌ (ํ•œ ๋ฒˆ๋งŒ ํ‘œ์‹œ๋จ!)
23
+
24
+ **๋กœ์ปฌ์— ํ† ํฐ ์„ค์ •:**
25
+
26
+ ```bash
27
+ # .npmrc ํŒŒ์ผ์— ํ† ํฐ ์ถ”๊ฐ€
28
+ echo "//registry.npmjs.org/:_authToken=YOUR_TOKEN_HERE" > ~/.npmrc
29
+
30
+ # ๊ถŒํ•œ ์„ค์ •
31
+ chmod 600 ~/.npmrc
32
+ ```
33
+
34
+ `YOUR_TOKEN_HERE`๋ฅผ ์ƒ์„ฑํ•œ ํ† ํฐ์œผ๋กœ ๊ต์ฒดํ•˜์„ธ์š”.
35
+
36
+ ### ๋ฐฉ๋ฒ• 2: ๋ธŒ๋ผ์šฐ์ € ๋กœ๊ทธ์ธ
37
+
38
+ ```bash
39
+ npm login
40
+ ```
41
+
42
+ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—ด๋ฆฌ๋ฉด ๋กœ๊ทธ์ธํ•˜๊ณ  ์ธ์ฆ์„ ์™„๋ฃŒํ•˜์„ธ์š”.
43
+
44
+ ### ๋ฐฉ๋ฒ• 3: OTP ์‚ฌ์šฉ
45
+
46
+ ```bash
47
+ # ๋กœ๊ทธ์ธ
48
+ npm login
49
+
50
+ # ๋ฐฐํฌ ์‹œ OTP ์ฝ”๋“œ ํฌํ•จ
51
+ npm publish --access public --otp=123456
52
+ ```
53
+
54
+ ์ธ์ฆ ์•ฑ์—์„œ 6์ž๋ฆฌ ์ฝ”๋“œ๋ฅผ ๋ฐ›์•„ ์‚ฌ์šฉํ•˜์„ธ์š”.
55
+
56
+ ## ๐Ÿ“ฆ 2. ๋ฐฐํฌ ์ „ ์ฒดํฌ๋ฆฌ์ŠคํŠธ
57
+
58
+ ### ๋ฒ„์ „ ํ™•์ธ ๋ฐ ์—…๋ฐ์ดํŠธ
59
+
60
+ ```bash
61
+ # ํ˜„์žฌ ๋ฒ„์ „ ํ™•์ธ
62
+ npm version
63
+
64
+ # ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (์ž๋™์œผ๋กœ git tag ์ƒ์„ฑ)
65
+ npm version patch # 0.1.0 -> 0.1.1 (๋ฒ„๊ทธ ์ˆ˜์ •)
66
+ npm version minor # 0.1.0 -> 0.2.0 (์ƒˆ ๊ธฐ๋Šฅ)
67
+ npm version major # 0.1.0 -> 1.0.0 (ํฐ ๋ณ€๊ฒฝ)
68
+ ```
69
+
70
+ ### ๋นŒ๋“œ ํ™•์ธ
71
+
72
+ ```bash
73
+ # TypeScript ์ปดํŒŒ์ผ
74
+ npm run build
75
+
76
+ # dist ํด๋” ํ™•์ธ
77
+ ls -la dist/
78
+ ```
79
+
80
+ ### ํ…Œ์ŠคํŠธ ์‹คํ–‰
81
+
82
+ ```bash
83
+ # ๋กœ์ปฌ์—์„œ CLI ํ…Œ์ŠคํŠธ
84
+ npm link
85
+ create-arch-app test-project
86
+
87
+ # ๋งํฌ ํ•ด์ œ
88
+ npm unlink -g create-arch-app
89
+ ```
90
+
91
+ ### package.json ํ™•์ธ
92
+
93
+ ํ•„์ˆ˜ ํ•„๋“œ ํ™•์ธ:
94
+ - โœ… `name`: `@daawoonkim/create-arch-app`
95
+ - โœ… `version`: ์—…๋ฐ์ดํŠธ๋œ ๋ฒ„์ „
96
+ - โœ… `description`: ํŒจํ‚ค์ง€ ์„ค๋ช…
97
+ - โœ… `keywords`: ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ
98
+ - โœ… `repository`: GitHub ๋งํฌ
99
+ - โœ… `license`: MIT
100
+ - โœ… `bin`: CLI ์ง„์ž…์ 
101
+
102
+ ### .npmignore ํ™•์ธ
103
+
104
+ ๋ฐฐํฌ์—์„œ ์ œ์™ธํ•  ํŒŒ์ผ ํ™•์ธ:
105
+ ```
106
+ src/
107
+ *.plan.md
108
+ tsconfig.json
109
+ .git/
110
+ .github/
111
+ test-output/
112
+ ```
113
+
114
+ ## ๐Ÿš€ 3. ๋ฐฐํฌ ์‹คํ–‰
115
+
116
+ ### ๋ฐฐํฌ ๋ช…๋ น์–ด
117
+
118
+ ```bash
119
+ npm publish --access public
120
+ ```
121
+
122
+ ### ๋ฐฐํฌ ํ™•์ธ
123
+
124
+ ```bash
125
+ # npm์—์„œ ํŒจํ‚ค์ง€ ์ •๋ณด ํ™•์ธ
126
+ npm info @daawoonkim/create-arch-app
127
+
128
+ # ์„ค์น˜ ํ…Œ์ŠคํŠธ
129
+ npx @daawoonkim/create-arch-app test-app
130
+ ```
131
+
132
+ ## ๐Ÿท๏ธ 4. Git ํƒœ๊ทธ ๋ฐ ๋ฆด๋ฆฌ์ฆˆ
133
+
134
+ ### Git ํƒœ๊ทธ ์ƒ์„ฑ
135
+
136
+ ```bash
137
+ # ํƒœ๊ทธ ์ƒ์„ฑ (npm version์ด ์ž๋™ ์ƒ์„ฑํ•˜์ง€๋งŒ, ์ˆ˜๋™์œผ๋กœ๋„ ๊ฐ€๋Šฅ)
138
+ git tag v0.1.1
139
+
140
+ # ํƒœ๊ทธ ํ‘ธ์‹œ
141
+ git push --tags
142
+ ```
143
+
144
+ ### GitHub ๋ฆด๋ฆฌ์ฆˆ ์ƒ์„ฑ
145
+
146
+ 1. https://github.com/hec8897/create-arch-app/releases ์ ‘์†
147
+ 2. "Create a new release" ํด๋ฆญ
148
+ 3. ํƒœ๊ทธ ์„ ํƒ (v0.1.1)
149
+ 4. ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ์ž‘์„ฑ:
150
+
151
+ ```markdown
152
+ ## v0.1.1
153
+
154
+ ### ๐Ÿ› Bug Fixes
155
+ - ๋ฒ„๊ทธ ์ˆ˜์ • ๋‚ด์šฉ
156
+
157
+ ### โœจ Features
158
+ - ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ
159
+
160
+ ### ๐Ÿ“ Documentation
161
+ - ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ
162
+ ```
163
+
164
+ 5. "Publish release" ํด๋ฆญ
165
+
166
+ ## ๐Ÿ”„ 5. ์ „์ฒด ๋ฐฐํฌ ์›Œํฌํ”Œ๋กœ์šฐ
167
+
168
+ ```bash
169
+ # 1. ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹
170
+ git add .
171
+ git commit -m "feat: add new feature"
172
+
173
+ # 2. ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (์ž๋™์œผ๋กœ tag ์ƒ์„ฑ)
174
+ npm version patch
175
+
176
+ # 3. ๋นŒ๋“œ
177
+ npm run build
178
+
179
+ # 4. ๋ฐฐํฌ
180
+ npm publish --access public
181
+
182
+ # 5. Git ํ‘ธ์‹œ (ํƒœ๊ทธ ํฌํ•จ)
183
+ git push origin main --tags
184
+ ```
185
+
186
+ ## โš ๏ธ 6. ๋ฌธ์ œ ํ•ด๊ฒฐ
187
+
188
+ ### 2FA ์—๋Ÿฌ
189
+
190
+ ```
191
+ npm ERR! 403 Two-factor authentication required
192
+ ```
193
+
194
+ **ํ•ด๊ฒฐ์ฑ…:**
195
+ - OTP ์ฝ”๋“œ ์‚ฌ์šฉ: `npm publish --access public --otp=123456`
196
+ - ๋˜๋Š” Automation Token ์‚ฌ์šฉ (์œ„ 1๋‹จ๊ณ„ ์ฐธ์กฐ)
197
+
198
+ ### ์ธ์ฆ ์—๋Ÿฌ
199
+
200
+ ```
201
+ npm ERR! 401 Unauthorized
202
+ ```
203
+
204
+ **ํ•ด๊ฒฐ์ฑ…:**
205
+ ```bash
206
+ npm logout
207
+ npm login
208
+ ```
209
+
210
+ ### ๋ฒ„์ „ ์ถฉ๋Œ
211
+
212
+ ```
213
+ npm ERR! 403 cannot publish over existing version
214
+ ```
215
+
216
+ **ํ•ด๊ฒฐ์ฑ…:**
217
+ ```bash
218
+ # ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ
219
+ npm version patch
220
+ npm publish --access public
221
+ ```
222
+
223
+ ## ๐Ÿ“Š 7. ๋ฐฐํฌ ํ›„ ํ™•์ธ
224
+
225
+ ### npm ํŒจํ‚ค์ง€ ํŽ˜์ด์ง€
226
+ https://www.npmjs.com/package/@daawoonkim/create-arch-app
227
+
228
+ ### ๋‹ค์šด๋กœ๋“œ ํ†ต๊ณ„
229
+ ```bash
230
+ npm info @daawoonkim/create-arch-app
231
+ ```
232
+
233
+ ### ์‚ฌ์šฉ์ž ํ…Œ์ŠคํŠธ
234
+ ```bash
235
+ # ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ
236
+ cd ~/test-npm-package
237
+ npx @daawoonkim/create-arch-app my-test-app
238
+ ```
239
+
240
+ ## ๐Ÿ”’ 8. ๋ณด์•ˆ
241
+
242
+ ### .npmrc ํŒŒ์ผ ๋ณดํ˜ธ
243
+
244
+ ```bash
245
+ # ์ ˆ๋Œ€๋กœ Git์— ์ปค๋ฐ‹ํ•˜์ง€ ๋งˆ์„ธ์š”!
246
+ echo ".npmrc" >> .gitignore
247
+
248
+ # ํŒŒ์ผ ๊ถŒํ•œ ์„ค์ •
249
+ chmod 600 ~/.npmrc
250
+ ```
251
+
252
+ ### ํ† ํฐ ๊ฐฑ์‹ 
253
+
254
+ Automation Token์€ ๋งŒ๋ฃŒ๋˜์ง€ ์•Š์ง€๋งŒ, ์ •๊ธฐ์ ์œผ๋กœ ๊ฐฑ์‹ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค:
255
+ 1. npm ์›น์‚ฌ์ดํŠธ์—์„œ ๊ธฐ์กด ํ† ํฐ ์‚ญ์ œ
256
+ 2. ์ƒˆ ํ† ํฐ ์ƒ์„ฑ
257
+ 3. ~/.npmrc ํŒŒ์ผ ์—…๋ฐ์ดํŠธ
258
+
259
+ ## ๐Ÿ“ 9. ๋ฒ„์ „ ๊ด€๋ฆฌ ์ „๋žต
260
+
261
+ ### Semantic Versioning
262
+
263
+ - **MAJOR** (1.0.0): ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” API ๋ณ€๊ฒฝ
264
+ - **MINOR** (0.1.0): ํ•˜์œ„ ํ˜ธํ™˜๋˜๋Š” ์ƒˆ ๊ธฐ๋Šฅ
265
+ - **PATCH** (0.0.1): ํ•˜์œ„ ํ˜ธํ™˜๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •
266
+
267
+ ### ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ ๊ฐ€์ด๋“œ
268
+
269
+ ```bash
270
+ # ๋ฒ„๊ทธ ์ˆ˜์ •
271
+ npm version patch
272
+
273
+ # ์ƒˆ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (ํ•˜์œ„ ํ˜ธํ™˜)
274
+ npm version minor
275
+
276
+ # ํฐ ๋ณ€๊ฒฝ (Breaking Changes)
277
+ npm version major
278
+
279
+ # ๋ฒ ํƒ€ ๋ฒ„์ „
280
+ npm version prerelease --preid=beta
281
+ ```
282
+
283
+ ## ๐ŸŽฏ 10. ์ฒดํฌ๋ฆฌ์ŠคํŠธ
284
+
285
+ ๋ฐฐํฌ ์ „ ํ™•์ธ์‚ฌํ•ญ:
286
+
287
+ - [ ] ์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹ ์™„๋ฃŒ
288
+ - [ ] ํ…Œ์ŠคํŠธ ํ†ต๊ณผ
289
+ - [ ] ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (`npm version`)
290
+ - [ ] CHANGELOG ์—…๋ฐ์ดํŠธ
291
+ - [ ] README ์—…๋ฐ์ดํŠธ
292
+ - [ ] ๋นŒ๋“œ ์„ฑ๊ณต (`npm run build`)
293
+ - [ ] npm ๋กœ๊ทธ์ธ ํ™•์ธ
294
+ - [ ] ๋ฐฐํฌ ์‹คํ–‰ (`npm publish --access public`)
295
+ - [ ] Git ํƒœ๊ทธ ํ‘ธ์‹œ (`git push --tags`)
296
+ - [ ] GitHub ๋ฆด๋ฆฌ์ฆˆ ์ƒ์„ฑ
297
+ - [ ] npm ํŒจํ‚ค์ง€ ํŽ˜์ด์ง€ ํ™•์ธ
298
+ - [ ] ์‹ค์ œ ์„ค์น˜ ํ…Œ์ŠคํŠธ
299
+
300
+ ## ๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ
301
+
302
+ - npm ๋ฌธ์„œ: https://docs.npmjs.com/
303
+ - Semantic Versioning: https://semver.org/
304
+ - npm ํ† ํฐ: https://docs.npmjs.com/about-access-tokens