@rudinmax87/united-we-stand 0.2.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.
- package/.united-we-stand/README.md +12 -10
- package/.united-we-stand/agents/1-initializer.md +3 -1
- package/.united-we-stand/agents/2-planner.md +4 -0
- package/.united-we-stand/agents/3-designer.md +2 -0
- package/.united-we-stand/agents/4-implementer.md +2 -0
- package/.united-we-stand/agents/5-code-reviewer.md +11 -0
- package/.united-we-stand/agents/accessibility-reviewer.md +4 -1
- package/.united-we-stand/agents/optimizer.md +11 -8
- package/.united-we-stand/agents-md-block.md +2 -1
- package/.united-we-stand/antigravity-workflow.md +1 -1
- package/.united-we-stand/copilot-instructions.md +1 -1
- package/.united-we-stand/cursor-rule.mdc +1 -1
- package/.united-we-stand/framework/00-index.md +4 -0
- package/.united-we-stand/framework/01-core-rules.md +6 -3
- package/.united-we-stand/framework/04-command-routing.md +8 -5
- package/.united-we-stand/framework/06-spec-writing-standard.md +6 -0
- package/.united-we-stand/framework/07-definition-of-done.md +10 -6
- package/.united-we-stand/framework/08-skip-force-policy.md +3 -2
- package/.united-we-stand/framework/10-review-model.md +10 -2
- package/.united-we-stand/framework/12-react-frontend-review-checklist.md +97 -0
- package/.united-we-stand/framework/13-vulnerability-audit-matrix.md +54 -0
- package/.united-we-stand/framework/profiles/csharp.md +2 -0
- package/.united-we-stand/framework/profiles/go.md +2 -1
- package/.united-we-stand/framework/profiles/java.md +2 -1
- package/.united-we-stand/framework/profiles/javascript-typescript.md +8 -5
- package/.united-we-stand/framework/profiles/php.md +2 -0
- package/.united-we-stand/framework/profiles/python.md +2 -1
- package/.united-we-stand/framework/profiles/ruby.md +2 -0
- package/.united-we-stand/framework/profiles/rust.md +2 -1
- package/.united-we-stand/framework/profiles/web-app.md +4 -1
- package/.united-we-stand/spec-driven/branch-template/01-init.md +3 -0
- package/.united-we-stand/spec-driven/branch-template/02-plan.md +3 -0
- package/.united-we-stand/spec-driven/branch-template/03-design.md +4 -1
- package/.united-we-stand/spec-driven/branch-template/05-code-review.md +13 -1
- package/PACKAGE-PUBLISHING.md +403 -0
- package/README.md +7 -5
- package/dist/commands/branch-init.d.ts.map +1 -1
- package/dist/commands/branch-init.js +8 -7
- package/dist/commands/branch-init.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +21 -21
- package/dist/commands/doctor.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Vulnerability Audit Matrix
|
|
2
|
+
|
|
3
|
+
Use the safest available path first:
|
|
4
|
+
|
|
5
|
+
1. Prefer repo-native or package-manager-native vulnerability audit commands that require no extra install.
|
|
6
|
+
2. If no native command exists, use repo-configured tooling only when it is already present.
|
|
7
|
+
3. Do not install a new audit tool during review unless the user explicitly asks.
|
|
8
|
+
4. If no safe no-install command exists, state that explicitly in the review output.
|
|
9
|
+
5. Any detected dependency vulnerability must be reported as a high-priority review finding, even if the underlying tool labels it lower severity.
|
|
10
|
+
|
|
11
|
+
## JavaScript / TypeScript
|
|
12
|
+
|
|
13
|
+
- `package-lock.json`: `npm audit`
|
|
14
|
+
- `pnpm-lock.yaml`: `pnpm audit`
|
|
15
|
+
- `yarn.lock`: `yarn audit`, or the repo-configured Yarn equivalent if the active Yarn version does not expose that command
|
|
16
|
+
|
|
17
|
+
## PHP / Composer
|
|
18
|
+
|
|
19
|
+
- `composer.lock`: `composer audit`
|
|
20
|
+
|
|
21
|
+
## .NET / NuGet
|
|
22
|
+
|
|
23
|
+
- SDK-style projects when supported: `dotnet list package --vulnerable`
|
|
24
|
+
|
|
25
|
+
## Python
|
|
26
|
+
|
|
27
|
+
- No guaranteed no-extra-install native audit command in this framework baseline
|
|
28
|
+
- Use repo-configured tooling only if it already exists
|
|
29
|
+
|
|
30
|
+
## Ruby
|
|
31
|
+
|
|
32
|
+
- No guaranteed no-extra-install native audit command in this framework baseline
|
|
33
|
+
- Use repo-configured tooling only if it already exists
|
|
34
|
+
|
|
35
|
+
## Rust
|
|
36
|
+
|
|
37
|
+
- No guaranteed no-extra-install native audit command in this framework baseline
|
|
38
|
+
- Use repo-configured `cargo audit` only if it already exists
|
|
39
|
+
|
|
40
|
+
## Go
|
|
41
|
+
|
|
42
|
+
- No guaranteed no-extra-install native audit command in this framework baseline
|
|
43
|
+
- Use repo-configured `govulncheck` only if it already exists
|
|
44
|
+
|
|
45
|
+
## Java
|
|
46
|
+
|
|
47
|
+
- No guaranteed no-extra-install native audit command in this framework baseline
|
|
48
|
+
- Use repo-configured Maven/Gradle security tasks only if they already exist
|
|
49
|
+
|
|
50
|
+
## General Review Notes
|
|
51
|
+
|
|
52
|
+
- Preserve the original command output details in your notes when they matter.
|
|
53
|
+
- If a command fails because the package manager or runtime is missing, disclose that rather than pretending the audit passed.
|
|
54
|
+
- Dependency-audit results do not replace manual review for injection, authz, or data-exposure issues.
|
|
@@ -8,3 +8,5 @@
|
|
|
8
8
|
## Verification Guidance
|
|
9
9
|
|
|
10
10
|
- Run build, test, analyzer, and package safety checks appropriate to the repo.
|
|
11
|
+
- When supported by the active SDK/project style, run `dotnet list package --vulnerable`.
|
|
12
|
+
- Review deserialization, injection, path handling, SSRF, authz, and secret exposure when relevant.
|
|
@@ -9,4 +9,5 @@
|
|
|
9
9
|
## Verification Guidance
|
|
10
10
|
|
|
11
11
|
- Run formatting, vetting, tests, and module checks appropriate to the repo.
|
|
12
|
-
-
|
|
12
|
+
- If `govulncheck` is already available or already configured by the repo, run it; otherwise explicitly disclose that this framework baseline has no guaranteed no-extra-install native Go vulnerability audit command.
|
|
13
|
+
- Review dependency safety, input validation, path handling, SSRF, command execution, and auth boundaries when relevant.
|
|
@@ -8,4 +8,5 @@
|
|
|
8
8
|
## Verification Guidance
|
|
9
9
|
|
|
10
10
|
- Run build, test, and static checks appropriate to Maven/Gradle or the repo build system.
|
|
11
|
-
-
|
|
11
|
+
- Run repo-configured dependency vulnerability tasks when present; otherwise explicitly disclose that this framework baseline has no guaranteed no-extra-install native Java audit command.
|
|
12
|
+
- Review injection, unsafe deserialization, SSRF, file-path handling, command execution, and auth boundaries when relevant.
|
|
@@ -24,13 +24,15 @@
|
|
|
24
24
|
- Avoid introducing vulnerable, deprecated, or unmaintained packages.
|
|
25
25
|
- Keep dependencies minimal and justify new ones.
|
|
26
26
|
- Treat ESLint, parser-based AST analysis, and similar static-analysis tooling as mandatory quality inputs when the repository provides them.
|
|
27
|
-
- Run package audit
|
|
28
|
-
- `npm audit`
|
|
29
|
-
- `pnpm audit`
|
|
30
|
-
- `yarn audit`
|
|
31
|
-
-
|
|
27
|
+
- Run the package-manager-native audit command for the active repo when a no-extra-install path exists:
|
|
28
|
+
- `package-lock.json` -> `npm audit`
|
|
29
|
+
- `pnpm-lock.yaml` -> `pnpm audit`
|
|
30
|
+
- `yarn.lock` -> `yarn audit`, or the repo-configured Yarn equivalent if the active Yarn version does not expose `yarn audit`
|
|
31
|
+
- If no safe native audit command is available in the active environment, disclose that explicitly in implementation/review notes instead of silently skipping it.
|
|
32
32
|
- Ensure user-controlled values do not flow into unsafe sinks without validation.
|
|
33
|
+
- Review for XSS, SQL/NoSQL injection, command injection, path traversal, SSRF, CSRF, open redirects, unsafe deserialization, and secret exposure when relevant.
|
|
33
34
|
- Ensure authn/authz ownership checks for resource-level operations.
|
|
35
|
+
- For React/Next/Vite-style frontend work, apply `../12-react-frontend-review-checklist.md`.
|
|
34
36
|
|
|
35
37
|
## Testing and Validation
|
|
36
38
|
|
|
@@ -48,4 +50,5 @@ Reviewers should additionally check:
|
|
|
48
50
|
- stale or dead code
|
|
49
51
|
- unsafe data exposure in API responses
|
|
50
52
|
- dependency risk introduced by new packages
|
|
53
|
+
- dependency vulnerability findings reported as high priority regardless of underlying tool severity
|
|
51
54
|
- lint/parser/static-analysis findings for the changed scope and whether they were addressed or intentionally deferred
|
|
@@ -8,3 +8,5 @@
|
|
|
8
8
|
## Verification Guidance
|
|
9
9
|
|
|
10
10
|
- Run lint, tests, static analysis, and dependency checks appropriate to Composer and the repo.
|
|
11
|
+
- When `composer.lock` is present, run `composer audit`.
|
|
12
|
+
- Review input validation, injection boundaries, file-path handling, authz, and secret exposure when relevant.
|
|
@@ -13,4 +13,5 @@
|
|
|
13
13
|
## Verification Guidance
|
|
14
14
|
|
|
15
15
|
- Run formatter, linter, tests, and packaging/build checks appropriate to the repo.
|
|
16
|
-
-
|
|
16
|
+
- Prefer repo-configured dependency vulnerability tooling when present; otherwise explicitly disclose that Python has no guaranteed no-extra-install native audit command in this framework baseline.
|
|
17
|
+
- Review input handling, deserialization, SSRF/file-path boundaries, command execution, and secret exposure when relevant.
|
|
@@ -8,3 +8,5 @@
|
|
|
8
8
|
## Verification Guidance
|
|
9
9
|
|
|
10
10
|
- Run tests, linters, and dependency safety checks appropriate to the repo.
|
|
11
|
+
- Prefer repo-configured Ruby dependency safety tooling when present; otherwise explicitly disclose that this framework baseline has no guaranteed no-extra-install native Ruby audit command.
|
|
12
|
+
- Review injection, unsafe metaprogramming/deserialization, command execution, and secret exposure when relevant.
|
|
@@ -8,4 +8,5 @@
|
|
|
8
8
|
## Verification Guidance
|
|
9
9
|
|
|
10
10
|
- Run formatting, clippy, tests, and build checks appropriate to the repo.
|
|
11
|
-
-
|
|
11
|
+
- If `cargo audit` is already available or already configured by the repo, run it; otherwise explicitly disclose that this framework baseline has no guaranteed no-extra-install native Rust vulnerability audit command.
|
|
12
|
+
- Review unsafe blocks, deserialization/input boundaries, command execution, path handling, and crate safety when dependencies change.
|
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
## Product Boundaries
|
|
4
4
|
|
|
5
5
|
- Consider routing, screen states, loading/error states, form validation, auth boundaries, and accessibility.
|
|
6
|
+
- Consider user-controlled input paths, client-visible secrets, unsafe redirects, third-party script impact, and reduced-motion handling when relevant.
|
|
7
|
+
- For React/Next/Vite-style web apps, apply `../12-react-frontend-review-checklist.md` during implementation and review.
|
|
6
8
|
|
|
7
9
|
## Verification
|
|
8
10
|
|
|
9
11
|
- Verify affected pages, components, or flows render correctly in local/dev environment when applicable.
|
|
10
12
|
- Confirm client-visible error handling and loading states where impacted.
|
|
11
|
-
- Confirm impacted routes boot without runtime crashes.
|
|
13
|
+
- Confirm impacted routes boot without runtime crashes.
|
|
14
|
+
- After fixes, verify that key user-facing flows still work and that no intended functionality was removed while resolving the issue.
|
|
@@ -3,14 +3,26 @@
|
|
|
3
3
|
## Quality & maintainability findings
|
|
4
4
|
TBD
|
|
5
5
|
|
|
6
|
+
## Vulnerability audit findings
|
|
7
|
+
TBD
|
|
8
|
+
|
|
6
9
|
## Security / boundary findings
|
|
7
10
|
TBD
|
|
8
11
|
|
|
12
|
+
## Optimization findings
|
|
13
|
+
TBD
|
|
14
|
+
|
|
9
15
|
## Severity / priority
|
|
10
16
|
TBD
|
|
11
17
|
|
|
12
18
|
## Recommended fixes
|
|
13
19
|
TBD
|
|
14
20
|
|
|
21
|
+
## Lint/parser/static-analysis observations
|
|
22
|
+
TBD
|
|
23
|
+
|
|
24
|
+
## Residual risks
|
|
25
|
+
TBD
|
|
26
|
+
|
|
15
27
|
## Reviewed scope and non-reviewed scope
|
|
16
|
-
TBD
|
|
28
|
+
TBD
|
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
# Package Publishing
|
|
2
|
+
|
|
3
|
+
## Local Development
|
|
4
|
+
|
|
5
|
+
Install dependencies:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Build the package:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm run build
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Run unit/integration tests:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm test
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Run built-CLI smoke tests:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm run test:e2e
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Source Of Truth Areas
|
|
30
|
+
|
|
31
|
+
- framework runtime assets: `.united-we-stand/**`
|
|
32
|
+
- CLI behavior: `src/commands/**` and `src/lib/**`
|
|
33
|
+
- package metadata: `package.json`
|
|
34
|
+
- publish preparation for GitHub Packages: `scripts/prepare-github-publish.mjs`
|
|
35
|
+
|
|
36
|
+
## Installed Editor Integration Files
|
|
37
|
+
|
|
38
|
+
When users run `united-we-stand install`, the framework also installs lightweight editor/agent integration pointers that redirect tools back to the root `AGENTS.md` file instead of duplicating rules.
|
|
39
|
+
|
|
40
|
+
Installed pointer files:
|
|
41
|
+
|
|
42
|
+
- `.github/copilot-instructions.md`
|
|
43
|
+
- `.agents/workflows/united-we-stand.md`
|
|
44
|
+
- `.cursor/rules/united-we-stand.mdc`
|
|
45
|
+
|
|
46
|
+
## Publish Targets
|
|
47
|
+
|
|
48
|
+
This repository is prepared for two scoped publish targets.
|
|
49
|
+
|
|
50
|
+
Current examples in this repository:
|
|
51
|
+
|
|
52
|
+
- public npm package: `@rudinmax87/united-we-stand`
|
|
53
|
+
- GitHub Packages package: `@mrudinal/united-we-stand`
|
|
54
|
+
|
|
55
|
+
If you adapt this publish flow for your own fork or package, replace those scopes with your own npm scope and GitHub owner scope.
|
|
56
|
+
|
|
57
|
+
Because the required scopes are different, the repository uses:
|
|
58
|
+
|
|
59
|
+
- the root `package.json` for npm publishing
|
|
60
|
+
- a generated temporary artifact for GitHub Packages publishing
|
|
61
|
+
|
|
62
|
+
## Build The Publish Artifact
|
|
63
|
+
|
|
64
|
+
When you publish to npm, you are publishing the package artifact generated from this repository, not a Docker image.
|
|
65
|
+
|
|
66
|
+
The npm package artifact for this repository consists of:
|
|
67
|
+
|
|
68
|
+
- compiled CLI output
|
|
69
|
+
- `.united-we-stand/**`
|
|
70
|
+
- `README.md`
|
|
71
|
+
- `LICENSE`
|
|
72
|
+
|
|
73
|
+
Those shipped files are defined in `package.json` under `files`.
|
|
74
|
+
|
|
75
|
+
If you want to inspect the package tarball locally before publishing, run:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
npm pack
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
That creates a local `.tgz` archive containing the exact npm package contents that would be published from the root package.
|
|
82
|
+
|
|
83
|
+
## Publish To Scoped npm
|
|
84
|
+
|
|
85
|
+
This repository is currently configured to publish the root package as:
|
|
86
|
+
|
|
87
|
+
- `@rudinmax87/united-we-stand`
|
|
88
|
+
|
|
89
|
+
If you are publishing your own scoped variant, replace that name with your own npm scope and package name.
|
|
90
|
+
|
|
91
|
+
### Requirements
|
|
92
|
+
|
|
93
|
+
Before publishing to npm, make sure all of the following are true:
|
|
94
|
+
|
|
95
|
+
- you have Node.js 18+ installed
|
|
96
|
+
- you have npm installed
|
|
97
|
+
- you have an npm account
|
|
98
|
+
- your npm account has access to the package scope you plan to publish under
|
|
99
|
+
- you are logged in with the npm CLI
|
|
100
|
+
- the package `version` in `package.json` is the version you want to publish
|
|
101
|
+
- the package builds and tests pass locally
|
|
102
|
+
|
|
103
|
+
Optional but recommended checks:
|
|
104
|
+
|
|
105
|
+
- confirm the current npm user with `npm whoami`
|
|
106
|
+
- confirm the target registry with `npm config get registry`
|
|
107
|
+
- inspect the tarball with `npm pack`
|
|
108
|
+
|
|
109
|
+
### Step-by-step
|
|
110
|
+
|
|
111
|
+
#### 1. Install dependencies
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npm install
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
#### 2. Build the package
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
npm run build
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
#### 3. Run the test suite
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
npm test
|
|
127
|
+
npm run test:e2e
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
#### 4. Confirm the package version and scoped name
|
|
131
|
+
|
|
132
|
+
Check `package.json` and confirm:
|
|
133
|
+
|
|
134
|
+
- `name` is the package name you intend to publish
|
|
135
|
+
- `version` is the release version you want to publish
|
|
136
|
+
|
|
137
|
+
For this repository today, the configured name is `@rudinmax87/united-we-stand`.
|
|
138
|
+
|
|
139
|
+
#### 5. Log in to npm
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
npm login
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
If you want to verify the authenticated user:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
npm whoami
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
#### 6. Optionally build the publish tarball locally
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm pack
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
This lets you inspect the exact package contents before publishing.
|
|
158
|
+
|
|
159
|
+
#### 7. Publish the scoped package
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
npm publish --access public
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
The root `package.json` already includes:
|
|
166
|
+
|
|
167
|
+
- scoped package name for this repository
|
|
168
|
+
- `publishConfig.access = public`
|
|
169
|
+
|
|
170
|
+
So `npm publish` is usually enough, but `npm publish --access public` makes the intended access mode explicit for a scoped public package.
|
|
171
|
+
|
|
172
|
+
### Quick publish command sequence
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
npm install
|
|
176
|
+
npm run build
|
|
177
|
+
npm test
|
|
178
|
+
npm run test:e2e
|
|
179
|
+
npm login
|
|
180
|
+
npm whoami
|
|
181
|
+
npm pack
|
|
182
|
+
npm publish --access public
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Publish To GitHub Packages
|
|
186
|
+
|
|
187
|
+
This repository can also be published to GitHub Packages as:
|
|
188
|
+
|
|
189
|
+
- `@mrudinal/united-we-stand`
|
|
190
|
+
|
|
191
|
+
GitHub Packages for npm uses:
|
|
192
|
+
|
|
193
|
+
- registry: `https://npm.pkg.github.com`
|
|
194
|
+
- scoped package name: `@mrudinal/united-we-stand`
|
|
195
|
+
|
|
196
|
+
Treat `@mrudinal` as the current example owner scope for this repository. If you publish from your own fork or organization, replace it with your own GitHub Packages scope.
|
|
197
|
+
|
|
198
|
+
### Requirements
|
|
199
|
+
|
|
200
|
+
Before publishing to GitHub Packages, make sure all of the following are true:
|
|
201
|
+
|
|
202
|
+
- you have Node.js 18+ and npm installed
|
|
203
|
+
- you have a GitHub account with access to the repository that owns the package
|
|
204
|
+
- you have a GitHub `personal access token (classic)`
|
|
205
|
+
- that token has at least:
|
|
206
|
+
- `write:packages`
|
|
207
|
+
- `read:packages`
|
|
208
|
+
- you are authenticated to `https://npm.pkg.github.com`
|
|
209
|
+
- the package builds and tests pass locally
|
|
210
|
+
|
|
211
|
+
Important:
|
|
212
|
+
|
|
213
|
+
- GitHub Packages for npm currently uses `personal access token (classic)` authentication
|
|
214
|
+
- for npm CLI v9+, GitHub recommends `--auth-type=legacy` when logging in from the command line
|
|
215
|
+
|
|
216
|
+
### Step-by-step
|
|
217
|
+
|
|
218
|
+
#### 1. Build and validate the package
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
npm install
|
|
222
|
+
npm run build
|
|
223
|
+
npm test
|
|
224
|
+
npm run test:e2e
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
#### 2. Create a GitHub personal access token (classic)
|
|
228
|
+
|
|
229
|
+
Create a token in GitHub with:
|
|
230
|
+
|
|
231
|
+
- `write:packages`
|
|
232
|
+
- `read:packages`
|
|
233
|
+
|
|
234
|
+
If you also want to delete packages later, add:
|
|
235
|
+
|
|
236
|
+
- `delete:packages`
|
|
237
|
+
|
|
238
|
+
#### 3. Authenticate npm to GitHub Packages
|
|
239
|
+
|
|
240
|
+
You can authenticate in either of these ways.
|
|
241
|
+
|
|
242
|
+
Option A: add your token to `~/.npmrc`
|
|
243
|
+
|
|
244
|
+
```ini
|
|
245
|
+
//npm.pkg.github.com/:_authToken=YOUR_GITHUB_PAT_CLASSIC
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Option B: log in with npm
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
npm login --scope=@YOUR_GITHUB_SCOPE --auth-type=legacy --registry=https://npm.pkg.github.com
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Example for this repository:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
npm login --scope=@mrudinal --auth-type=legacy --registry=https://npm.pkg.github.com
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
When prompted, use:
|
|
261
|
+
|
|
262
|
+
- Username: your GitHub username
|
|
263
|
+
- Password: your GitHub personal access token (classic)
|
|
264
|
+
- Email: your GitHub account email
|
|
265
|
+
|
|
266
|
+
#### 4. Prepare the GitHub-scoped publish artifact
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
npm run prepare:publish:github
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
That creates:
|
|
273
|
+
|
|
274
|
+
- a temporary GitHub-scoped publish artifact
|
|
275
|
+
- a GitHub-scoped package manifest
|
|
276
|
+
- the compiled CLI output and installed framework assets needed for publication
|
|
277
|
+
|
|
278
|
+
#### 5. Inspect the generated publish artifact
|
|
279
|
+
|
|
280
|
+
Confirm that these files exist:
|
|
281
|
+
|
|
282
|
+
- the generated GitHub-scoped package manifest
|
|
283
|
+
- the generated compiled CLI output
|
|
284
|
+
- the generated `.united-we-stand/` asset copy
|
|
285
|
+
|
|
286
|
+
The generated `package.json` in that folder is already configured for:
|
|
287
|
+
|
|
288
|
+
- package name: `@mrudinal/united-we-stand`
|
|
289
|
+
- registry: `https://npm.pkg.github.com`
|
|
290
|
+
|
|
291
|
+
#### 6. Publish from the generated folder
|
|
292
|
+
|
|
293
|
+
Publish from the generated GitHub artifact directory created by `npm run prepare:publish:github`.
|
|
294
|
+
|
|
295
|
+
The publish command is typically:
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
npm publish .publish/github
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
Run it from the repository root after inspecting the prepared package manifest.
|
|
302
|
+
|
|
303
|
+
The generated GitHub Packages artifact uses:
|
|
304
|
+
|
|
305
|
+
- package name: `@mrudinal/united-we-stand`
|
|
306
|
+
- registry: `https://npm.pkg.github.com`
|
|
307
|
+
|
|
308
|
+
### Quick GitHub Packages publish sequence
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
npm install
|
|
312
|
+
npm run build
|
|
313
|
+
npm test
|
|
314
|
+
npm run test:e2e
|
|
315
|
+
npm login --scope=@YOUR_GITHUB_SCOPE --auth-type=legacy --registry=https://npm.pkg.github.com
|
|
316
|
+
npm run prepare:publish:github
|
|
317
|
+
npm publish .publish/github
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
Example scope for this repository: `@mrudinal`
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
npm install
|
|
325
|
+
npm run build
|
|
326
|
+
npm test
|
|
327
|
+
npm run test:e2e
|
|
328
|
+
npm login --scope=@mrudinal --auth-type=legacy --registry=https://npm.pkg.github.com
|
|
329
|
+
npm run prepare:publish:github
|
|
330
|
+
npm publish .publish/github
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Verify The GitHub Package Exists
|
|
334
|
+
|
|
335
|
+
After publishing, verify the package in both the CLI and the GitHub UI.
|
|
336
|
+
|
|
337
|
+
#### Verify from the CLI
|
|
338
|
+
|
|
339
|
+
If you already authenticated npm to GitHub Packages, run:
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
npm view @YOUR_GITHUB_SCOPE/united-we-stand version --registry=https://npm.pkg.github.com
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
Example for this repository:
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
npm view @mrudinal/united-we-stand version --registry=https://npm.pkg.github.com
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
You can also inspect more package metadata:
|
|
352
|
+
|
|
353
|
+
```bash
|
|
354
|
+
npm view @YOUR_GITHUB_SCOPE/united-we-stand --registry=https://npm.pkg.github.com
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
Example for this repository:
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
npm view @mrudinal/united-we-stand --registry=https://npm.pkg.github.com
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
If the package is visible and the publish succeeded, npm will return the published version and metadata instead of a not found or auth error.
|
|
364
|
+
|
|
365
|
+
#### Verify in the GitHub UI
|
|
366
|
+
|
|
367
|
+
Open GitHub and check the package in the UI:
|
|
368
|
+
|
|
369
|
+
1. Go to your GitHub profile or the owning account.
|
|
370
|
+
2. Open the `Packages` tab.
|
|
371
|
+
3. Look for `united-we-stand`.
|
|
372
|
+
4. Open the package page and confirm:
|
|
373
|
+
- package name matches your published scope and package name
|
|
374
|
+
- the newly published version is listed
|
|
375
|
+
- installation instructions and package metadata are visible
|
|
376
|
+
|
|
377
|
+
For this repository today, the example package name is `@mrudinal/united-we-stand`.
|
|
378
|
+
|
|
379
|
+
You can also check the repository sidebar for the linked package if GitHub associates the package with your repository.
|
|
380
|
+
|
|
381
|
+
#### Visibility Warning for First GitHub Packages Publish
|
|
382
|
+
|
|
383
|
+
If you publish a GitHub npm package under a personal account scope for the first time, GitHub may create it as `private` by default even if your package is intended to be public.
|
|
384
|
+
|
|
385
|
+
After the first publish, check the package page in GitHub:
|
|
386
|
+
|
|
387
|
+
1. Open the package.
|
|
388
|
+
2. Go to `Package settings`.
|
|
389
|
+
3. In the visibility controls, change the package to `Public` if needed.
|
|
390
|
+
|
|
391
|
+
Important:
|
|
392
|
+
|
|
393
|
+
- this visibility change is done in the GitHub UI, not by regenerating the package artifact
|
|
394
|
+
- you do not need to publish a new package just to change a newly created package from private to public
|
|
395
|
+
- once a GitHub package is made public, GitHub may not allow changing it back to private
|
|
396
|
+
|
|
397
|
+
### Notes
|
|
398
|
+
|
|
399
|
+
- publish to npmjs.com and publish to GitHub Packages are separate flows
|
|
400
|
+
- the root package publishes to npm as `@rudinmax87/united-we-stand`
|
|
401
|
+
- the generated temporary GitHub artifact publishes to GitHub Packages as `@mrudinal/united-we-stand`
|
|
402
|
+
- replace those example scopes with your own if you publish from a different owner account or fork
|
|
403
|
+
- if authentication fails during GitHub Packages publish, re-check that your token is a `personal access token (classic)` with `write:packages`
|
package/README.md
CHANGED
|
@@ -55,6 +55,7 @@ The built package ships:
|
|
|
55
55
|
|
|
56
56
|
- compiled CLI output
|
|
57
57
|
- `.united-we-stand/**`
|
|
58
|
+
- `PACKAGE-PUBLISHING.md`
|
|
58
59
|
- `README.md`
|
|
59
60
|
- `LICENSE`
|
|
60
61
|
|
|
@@ -168,11 +169,11 @@ After the workflow is initialized, each stage writes or updates its branch file
|
|
|
168
169
|
| Stage | File name | General description |
|
|
169
170
|
|-------|-----------|---------------------|
|
|
170
171
|
| `0-status-checker` | `00-current-status.md` | Current branch status, blockers, recommended next step, and routing state |
|
|
171
|
-
| `1-initializer` | `01-init.md` | Raw idea, scope, assumptions, open questions,
|
|
172
|
-
| `2-planner` | `02-plan.md` | Ordered plan, dependencies, risks, and suggested execution order |
|
|
173
|
-
| `3-designer` | `03-design.md` | Architecture, interfaces, boundaries, data flow, and design decisions |
|
|
172
|
+
| `1-initializer` | `01-init.md` | Raw idea, scope, assumptions, open questions, success criteria, and early security/dependency concerns |
|
|
173
|
+
| `2-planner` | `02-plan.md` | Ordered plan, dependencies, risks, security/dependency risk handling, and suggested execution order |
|
|
174
|
+
| `3-designer` | `03-design.md` | Architecture, interfaces, boundaries, attack surface, data flow, and design decisions |
|
|
174
175
|
| `4-implementer` | `04-implementation.md` | What changed in code, validation performed, and remaining gaps |
|
|
175
|
-
| `5-code-reviewer` | `05-code-review.md` | Quality, maintainability, security, optimization, and review findings |
|
|
176
|
+
| `5-code-reviewer` | `05-code-review.md` | Quality, maintainability, vulnerability, security, optimization, and review findings |
|
|
176
177
|
| `6-finalizer` | `06-finalization.md` | Final summary, uncaptured changes, doc updates, and closure confirmation |
|
|
177
178
|
|
|
178
179
|
Each stage document can be updated later, either manually or by asking the agent in the chat, if the work changes or the plan evolves. When moving to the next stage, the AI should use the latest version of those written documents as the main source of truth, instead of depending only on the chat.
|
|
@@ -246,7 +247,7 @@ what is the current status of united-we-stand
|
|
|
246
247
|
|
|
247
248
|
## Creating Your Own Package
|
|
248
249
|
|
|
249
|
-
If you want to generate and publish your own package variant of this framework, follow [
|
|
250
|
+
If you want to generate and publish your own package variant of this framework, follow [PACKAGE-PUBLISHING.md](./PACKAGE-PUBLISHING.md).
|
|
250
251
|
|
|
251
252
|
## Contents in this repository
|
|
252
253
|
|
|
@@ -279,6 +280,7 @@ repo-root/
|
|
|
279
280
|
| `-- lib/
|
|
280
281
|
|-- tests/
|
|
281
282
|
|-- LICENSE
|
|
283
|
+
|-- PACKAGE-PUBLISHING.md
|
|
282
284
|
|-- package-lock.json
|
|
283
285
|
|-- package.json
|
|
284
286
|
|-- README.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-init.d.ts","sourceRoot":"","sources":["../../src/commands/branch-init.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH,MAAM,WAAW,kBAAkB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAgMD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"branch-init.d.ts","sourceRoot":"","sources":["../../src/commands/branch-init.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH,MAAM,WAAW,kBAAkB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAgMD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8NrF"}
|