@rudinmax87/united-we-stand 0.1.0 → 0.1.2
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 +3 -1
- package/.united-we-stand/agents/0-status-checker.md +1 -1
- package/.united-we-stand/agents/1-initializer.md +3 -1
- package/.united-we-stand/agents/2-planner.md +3 -1
- package/.united-we-stand/agents-md-block.md +3 -1
- package/.united-we-stand/antigravity-workflow.md +2 -0
- package/.united-we-stand/copilot-instructions.md +2 -0
- package/.united-we-stand/cursor-rule.mdc +2 -0
- package/.united-we-stand/framework/01-core-rules.md +34 -31
- package/.united-we-stand/framework/02-state-model.md +5 -4
- package/.united-we-stand/framework/03-stage-lifecycle.md +5 -3
- package/.united-we-stand/framework/04-command-routing.md +16 -12
- package/.united-we-stand/framework/06-spec-writing-standard.md +2 -1
- package/.united-we-stand/framework/08-skip-force-policy.md +1 -1
- package/.united-we-stand/spec-driven/branch-template/02-plan.md +7 -4
- package/README.md +181 -414
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +2 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +2 -3
- package/dist/commands/install.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/github.d.ts +0 -13
- package/dist/lib/github.d.ts.map +0 -1
- package/dist/lib/github.js +0 -105
- package/dist/lib/github.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
# united-we-stand
|
|
1
|
+
# united-we-stand Framework
|
|
2
2
|
|
|
3
|
-
This repository is the source, build, test, and publish workspace for the `united-we-stand` package.
|
|
4
|
-
|
|
5
|
-
It is the maintainer documentation for this repository, not the installed end-user framework guide.
|
|
3
|
+
This repository is the documentation, source, build, test, and publish workspace for the `united-we-stand` package.
|
|
6
4
|
|
|
7
5
|
The runtime framework README that gets installed into target repositories is:
|
|
8
6
|
|
|
@@ -10,44 +8,44 @@ The runtime framework README that gets installed into target repositories is:
|
|
|
10
8
|
|
|
11
9
|

|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
`united-we-stand` is a spec-driven development framework for agentic AI collaboration. It gives AI assistants a structured way to handle feature work, bug fixes, refactors, reviews, migrations, release preparation, and documentation updates with persistent branch-aware context instead of relying only on chat history.
|
|
14
12
|
|
|
15
|
-
-
|
|
16
|
-
- CLI entrypoint, commands, and library code
|
|
17
|
-
- `.united-we-stand/`
|
|
18
|
-
- framework markdown assets that are installed into target repositories
|
|
19
|
-
- `tests/`
|
|
20
|
-
- unit, integration, and built-CLI smoke coverage
|
|
21
|
-
- `scripts/`
|
|
22
|
-
- maintainer scripts, including GitHub publish artifact preparation
|
|
23
|
-
- `public/`
|
|
24
|
-
- repository-local static assets such as the project logo used in this README
|
|
25
|
-
- `VERSIONS.md`
|
|
26
|
-
- manual package version history and release notes
|
|
13
|
+
The framework combines detailed staged instructions, reusable playbooks, and specialist agents that are invoked based on the task at hand. It is designed to work well with VS Code, Antigravity, Cursor, and similar repository-aware coding environments.
|
|
27
14
|
|
|
28
|
-
##
|
|
15
|
+
## What it does
|
|
29
16
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|-- package-lock.json
|
|
43
|
-
|-- package.json
|
|
44
|
-
|-- README.md
|
|
45
|
-
|-- VERSIONS.md
|
|
46
|
-
|-- tsconfig.json
|
|
47
|
-
`-- vitest.config.ts
|
|
48
|
-
```
|
|
17
|
+
The `united-we-stand` npm package installs a repository-scoped AI workflow framework that helps coding assistants work in a structured, branch-aware way instead of relying only on chat memory.
|
|
18
|
+
|
|
19
|
+
It provides:
|
|
20
|
+
|
|
21
|
+
- a global CLI: `united-we-stand`
|
|
22
|
+
- an installed framework directory: `.united-we-stand/`
|
|
23
|
+
- branch-aware workflow memory under `.spec-driven/`
|
|
24
|
+
- numbered framework stages for end-to-end delivery
|
|
25
|
+
- standalone specialist agents for focused tasks
|
|
26
|
+
- editor/AI pointer files that redirect supported tools back to the installed framework and current workflow state
|
|
27
|
+
|
|
28
|
+
Once installed and initialized, the framework helps an AI assistant understand:
|
|
49
29
|
|
|
50
|
-
|
|
30
|
+
- the current branch context
|
|
31
|
+
- the current workflow stage
|
|
32
|
+
- what has already been decided
|
|
33
|
+
- what file should be updated next
|
|
34
|
+
- how to continue work consistently across supported tools and chats
|
|
35
|
+
|
|
36
|
+
## Why it exists
|
|
37
|
+
|
|
38
|
+
Most AI coding workflows lose context between chats, tools, branches, and sessions. `united-we-stand` exists to give AI assistants a predictable, durable workflow model inside the repository itself.
|
|
39
|
+
|
|
40
|
+
Instead of depending only on temporary chat history, the framework stores branch progress and stage outputs in markdown files that travel with the repository. This makes it easier to:
|
|
41
|
+
|
|
42
|
+
- resume work later
|
|
43
|
+
- switch between supported AI coding tools
|
|
44
|
+
- keep feature planning and implementation grounded in written state
|
|
45
|
+
- reduce repeated prompting
|
|
46
|
+
- keep multi-step development work organized
|
|
47
|
+
|
|
48
|
+
## The package
|
|
51
49
|
|
|
52
50
|
The package installs a global CLI named:
|
|
53
51
|
|
|
@@ -60,22 +58,19 @@ The built package ships:
|
|
|
60
58
|
- `README.md`
|
|
61
59
|
- `LICENSE`
|
|
62
60
|
|
|
63
|
-
The repository also contains `public/` assets for source-repo documentation,
|
|
61
|
+
The repository also contains `public/` assets for source-repo documentation, and those assets are currently included in the published package.
|
|
64
62
|
|
|
65
|
-
|
|
63
|
+
Once the framework is installed and initialized, branch memory is saved for future chats and can be resumed across supported tools. You can move between VS Code, Antigravity, Cursor, and similar environments without manually re-pointing the AI, because the installed instructions direct it back to the current spec and workflow state automatically.
|
|
66
64
|
|
|
67
|
-
|
|
65
|
+
In a new chat, a simple prompt such as `what is the current status of united-we-stand` can be used to confirm the active workflow state.
|
|
68
66
|
|
|
69
|
-
|
|
67
|
+
## GitHub Repository Star Suggestion
|
|
70
68
|
|
|
71
|
-
|
|
69
|
+
After `united-we-stand install` completes inside a target repository, the CLI prints a short suggestion to star the source repository if the framework was helpful:
|
|
72
70
|
|
|
73
|
-
-
|
|
74
|
-
- If the `gh` CLI is installed and authenticated, it falls back to `gh api`.
|
|
75
|
-
- If neither authentication method is available, the CLI logs that GitHub auth was not detected and continues.
|
|
76
|
-
- On any error or timeout, the CLI logs a warning and continues normally.
|
|
71
|
+
- <https://github.com/mrudinal/united-we-stand-framework>
|
|
77
72
|
|
|
78
|
-
|
|
73
|
+
This is only a log message. The install command does not call the GitHub API, does not use the `gh` CLI, does not read GitHub auth tokens for starring, and does not modify the user's GitHub account in any way.
|
|
79
74
|
|
|
80
75
|
## End-User Documentation
|
|
81
76
|
|
|
@@ -90,7 +85,7 @@ That file explains:
|
|
|
90
85
|
- framework stages and standalone agents
|
|
91
86
|
- runtime branch-memory layout inside their repositories
|
|
92
87
|
|
|
93
|
-
##
|
|
88
|
+
## How to install it
|
|
94
89
|
|
|
95
90
|
Install the public npm package with:
|
|
96
91
|
|
|
@@ -104,20 +99,52 @@ Then, inside a target repository:
|
|
|
104
99
|
united-we-stand install
|
|
105
100
|
```
|
|
106
101
|
|
|
107
|
-
For resetting the framework back to the defaults and
|
|
102
|
+
For resetting the framework back to the defaults and overwriting everything under `.united-we-stand/`:
|
|
108
103
|
|
|
109
104
|
```bash
|
|
110
105
|
united-we-stand install --force
|
|
111
106
|
```
|
|
112
107
|
|
|
113
|
-
|
|
108
|
+
The install command creates the following framework files and directories:
|
|
114
109
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
- standalone specialist agents: `debugger`, `documentation-writer`, `project-manager`, `refactorer`, `test-strategist`, `performance-reviewer`, `accessibility-reviewer`, `api-contract-writer`, `data-modeler`, `sql-database-designer`, `migration-planner`, `observability-reviewer`, `release-coordinator`, and `web-designer`
|
|
110
|
+
### What files it creates
|
|
111
|
+
|
|
112
|
+
Running `united-we-stand install` installs:
|
|
119
113
|
|
|
120
|
-
|
|
114
|
+
- the framework docs under `.united-we-stand/`
|
|
115
|
+
- editor/agent pointer files such as:
|
|
116
|
+
- `AGENTS.md`
|
|
117
|
+
- `.github/copilot-instructions.md`
|
|
118
|
+
- `.agents/workflows/united-we-stand.md`
|
|
119
|
+
- `.cursor/rules/united-we-stand.mdc`
|
|
120
|
+
|
|
121
|
+
It also installs the framework agents, including:
|
|
122
|
+
|
|
123
|
+
- numbered framework agents:
|
|
124
|
+
- `0-status-checker`
|
|
125
|
+
- `1-initializer`
|
|
126
|
+
- `2-planner`
|
|
127
|
+
- `3-designer`
|
|
128
|
+
- `4-implementer`
|
|
129
|
+
- `5-code-reviewer`
|
|
130
|
+
- `6-finalizer`
|
|
131
|
+
- standalone specialist agents:
|
|
132
|
+
- `debugger`
|
|
133
|
+
- `documentation-writer`
|
|
134
|
+
- `project-manager`
|
|
135
|
+
- `refactorer`
|
|
136
|
+
- `test-strategist`
|
|
137
|
+
- `performance-reviewer`
|
|
138
|
+
- `accessibility-reviewer`
|
|
139
|
+
- `api-contract-writer`
|
|
140
|
+
- `data-modeler`
|
|
141
|
+
- `sql-database-designer`
|
|
142
|
+
- `migration-planner`
|
|
143
|
+
- `observability-reviewer`
|
|
144
|
+
- `release-coordinator`
|
|
145
|
+
- `web-designer`
|
|
146
|
+
|
|
147
|
+
The workflow is used in chat after installation. The framework steps are as follows:
|
|
121
148
|
|
|
122
149
|
1. `1-initializer`: `AGENTS.md initialize this branch for adding OAuth login`
|
|
123
150
|
2. `2-planner`: `plan this feature`
|
|
@@ -126,10 +153,14 @@ The workflow is mainly used in chat after installation:
|
|
|
126
153
|
5. `5-code-reviewer`: `do a code review`
|
|
127
154
|
6. `6-finalizer`: `wrap this up`
|
|
128
155
|
|
|
129
|
-
`0-status-checker` is a routing and validation stage, not a delivery stage.
|
|
156
|
+
`0-status-checker` is a routing and validation stage, not a delivery stage. Examples: `what's my status`, `what is the current status of united-we-stand`
|
|
157
|
+
|
|
158
|
+
All of those steps are called in the chat, and do not need to be referenced explicitly after initialization. Simple prompts such as `lets move to the next step`, `next step`, or `do the next step` should move the AI framework to the next numbered stage.
|
|
159
|
+
If a request sounds like it is asking for multiple stages at once, united-we-stand should explain that it only runs one stage at a time, suggest the next recommended numbered stage first, and ask the user to confirm one single stage to run now.
|
|
130
160
|
|
|
131
161
|
For the most reliable initialization bootstrap, explicitly reference an installed framework file in the prompt, for example `.united-we-stand/README.md initialize this` or `AGENTS.md init the following`. Also, indicate at the end to only do the initialization step.
|
|
132
162
|
In normal chat usage, the AI should create branch memory during initialization, follow the numbered workflow stages, and use standalone agents only when the task calls for specialized help.
|
|
163
|
+
When initialization is requested, the AI should always do a fresh live check of the current git branch before creating branch memory. It should not reuse an earlier branch check, earlier status output, or remembered branch context from the same chat as the initialization target.
|
|
133
164
|
|
|
134
165
|
After the workflow is initialized, each stage writes or updates its branch file as follows:
|
|
135
166
|
|
|
@@ -143,388 +174,130 @@ After the workflow is initialized, each stage writes or updates its branch file
|
|
|
143
174
|
| `5-code-reviewer` | `05-code-review.md` | Quality, maintainability, security, and review findings |
|
|
144
175
|
| `6-finalizer` | `06-finalization.md` | Final summary, uncaptured changes, doc updates, and closure confirmation |
|
|
145
176
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
## Local Development
|
|
149
|
-
|
|
150
|
-
Install dependencies:
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
npm install
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Build the package:
|
|
157
|
-
|
|
158
|
-
```bash
|
|
159
|
-
npm run build
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Run unit/integration tests:
|
|
177
|
+
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.
|
|
163
178
|
|
|
164
|
-
|
|
165
|
-
npm test
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
Run built-CLI smoke tests:
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
npm run test:e2e
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
## Source Of Truth Areas
|
|
175
|
-
|
|
176
|
-
- framework runtime assets: `.united-we-stand/**`
|
|
177
|
-
- CLI behavior: `src/commands/**` and `src/lib/**`
|
|
178
|
-
- package metadata: `package.json`
|
|
179
|
-
- publish preparation for GitHub Packages: `scripts/prepare-github-publish.mjs`
|
|
180
|
-
|
|
181
|
-
## Installed Editor Integration Files
|
|
182
|
-
|
|
183
|
-
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.
|
|
184
|
-
|
|
185
|
-
Installed pointer files:
|
|
186
|
-
|
|
187
|
-
- `.github/copilot-instructions.md`
|
|
188
|
-
- `.agents/workflows/united-we-stand.md`
|
|
189
|
-
- `.cursor/rules/united-we-stand.mdc`
|
|
190
|
-
|
|
191
|
-
## Publish Targets
|
|
192
|
-
|
|
193
|
-
This repository is prepared for two scoped publish targets.
|
|
194
|
-
|
|
195
|
-
Current examples in this repository:
|
|
179
|
+
### What safety/destructive behavior exists
|
|
196
180
|
|
|
197
|
-
|
|
198
|
-
- GitHub Packages package: `@mrudinal/united-we-stand`
|
|
181
|
+
The framework is designed to install into the target repository and update its own managed framework files.
|
|
199
182
|
|
|
200
|
-
|
|
183
|
+
Important behavior to know:
|
|
201
184
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
- the root `package.json` for npm publishing
|
|
205
|
-
- a generated temporary artifact for GitHub Packages publishing
|
|
206
|
-
|
|
207
|
-
## Build The Publish Artifact
|
|
208
|
-
|
|
209
|
-
When you publish to npm, you are publishing the package artifact generated from this repository, not a Docker image.
|
|
210
|
-
|
|
211
|
-
The npm package artifact for this repository consists of:
|
|
212
|
-
|
|
213
|
-
- compiled CLI output
|
|
214
|
-
- `.united-we-stand/**`
|
|
215
|
-
- `README.md`
|
|
216
|
-
- `LICENSE`
|
|
217
|
-
|
|
218
|
-
Those shipped files are defined in `package.json` under `files`.
|
|
219
|
-
|
|
220
|
-
If you want to inspect the package tarball locally before publishing, run:
|
|
221
|
-
|
|
222
|
-
```bash
|
|
223
|
-
npm pack
|
|
224
|
-
```
|
|
185
|
+
- `united-we-stand install` writes or updates framework-related files in the repository
|
|
225
186
|
|
|
226
|
-
|
|
187
|
+
- `united-we-stand install --force` resets the installed framework files under `.united-we-stand/` back to the package defaults
|
|
227
188
|
|
|
228
|
-
|
|
189
|
+
- `branch-init --force` is intended to reset the current branch workflow memory for the resolved branch folder under `.spec-driven/`
|
|
229
190
|
|
|
230
|
-
|
|
191
|
+
- the install command may update pointer files such as `AGENTS.md` and `.github/copilot-instructions.md` so supported tools are redirected to the installed framework
|
|
231
192
|
|
|
232
|
-
-
|
|
193
|
+
- the CLI prints a suggestion to star the source repository after install if the framework was helpful
|
|
233
194
|
|
|
234
|
-
|
|
195
|
+
The install command:
|
|
235
196
|
|
|
236
|
-
|
|
197
|
+
- does not call the GitHub API for starring
|
|
237
198
|
|
|
238
|
-
|
|
199
|
+
- does not use the `gh` CLI for starring
|
|
239
200
|
|
|
240
|
-
-
|
|
241
|
-
- you have npm installed
|
|
242
|
-
- you have an npm account
|
|
243
|
-
- your npm account has access to the package scope you plan to publish under
|
|
244
|
-
- you are logged in with the npm CLI
|
|
245
|
-
- the package `version` in `package.json` is the version you want to publish
|
|
246
|
-
- the package builds and tests pass locally
|
|
201
|
+
- does not read GitHub auth tokens for starring
|
|
247
202
|
|
|
248
|
-
|
|
203
|
+
- does not modify the user's GitHub account in any way
|
|
204
|
+
As with any repository-writing tool, review changes before committing them, especially when using `--force`.
|
|
249
205
|
|
|
250
|
-
|
|
251
|
-
- confirm the target registry with `npm config get registry`
|
|
252
|
-
- inspect the tarball with `npm pack`
|
|
206
|
+
### One simple example flow
|
|
253
207
|
|
|
254
|
-
|
|
208
|
+
A typical workflow looks like this:
|
|
255
209
|
|
|
256
|
-
|
|
210
|
+
1. Install the package globally:
|
|
257
211
|
|
|
258
212
|
```bash
|
|
259
|
-
npm install
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
#### 2. Build the package
|
|
263
|
-
|
|
264
|
-
```bash
|
|
265
|
-
npm run build
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
#### 3. Run the test suite
|
|
269
|
-
|
|
270
|
-
```bash
|
|
271
|
-
npm test
|
|
272
|
-
npm run test:e2e
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
#### 4. Confirm the package version and scoped name
|
|
276
|
-
|
|
277
|
-
Check `package.json` and confirm:
|
|
278
|
-
|
|
279
|
-
- `name` is the package name you intend to publish
|
|
280
|
-
- `version` is the release version you want to publish
|
|
281
|
-
|
|
282
|
-
For this repository today, the configured name is `@rudinmax87/united-we-stand`.
|
|
283
|
-
|
|
284
|
-
#### 5. Log in to npm
|
|
285
|
-
|
|
286
|
-
```bash
|
|
287
|
-
npm login
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
If you want to verify the authenticated user:
|
|
291
|
-
|
|
292
|
-
```bash
|
|
293
|
-
npm whoami
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
#### 6. Optionally build the publish tarball locally
|
|
297
|
-
|
|
298
|
-
```bash
|
|
299
|
-
npm pack
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
This lets you inspect the exact package contents before publishing.
|
|
303
|
-
|
|
304
|
-
#### 7. Publish the scoped package
|
|
305
|
-
|
|
306
|
-
```bash
|
|
307
|
-
npm publish --access public
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
The root `package.json` already includes:
|
|
311
|
-
|
|
312
|
-
- scoped package name for this repository
|
|
313
|
-
- `publishConfig.access = public`
|
|
314
|
-
|
|
315
|
-
So `npm publish` is usually enough, but `npm publish --access public` makes the intended access mode explicit for a scoped public package.
|
|
316
|
-
|
|
317
|
-
### Quick publish command sequence
|
|
318
|
-
|
|
319
|
-
```bash
|
|
320
|
-
npm install
|
|
321
|
-
npm run build
|
|
322
|
-
npm test
|
|
323
|
-
npm run test:e2e
|
|
324
|
-
npm login
|
|
325
|
-
npm whoami
|
|
326
|
-
npm pack
|
|
327
|
-
npm publish --access public
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
## Publish To GitHub Packages
|
|
331
|
-
|
|
332
|
-
This repository can also be published to GitHub Packages as:
|
|
333
|
-
|
|
334
|
-
- `@mrudinal/united-we-stand`
|
|
335
|
-
|
|
336
|
-
GitHub Packages for npm uses:
|
|
337
|
-
|
|
338
|
-
- registry: `https://npm.pkg.github.com`
|
|
339
|
-
- scoped package name: `@mrudinal/united-we-stand`
|
|
340
|
-
|
|
341
|
-
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.
|
|
342
|
-
|
|
343
|
-
### Requirements
|
|
344
|
-
|
|
345
|
-
Before publishing to GitHub Packages, make sure all of the following are true:
|
|
346
|
-
|
|
347
|
-
- you have Node.js 18+ and npm installed
|
|
348
|
-
- you have a GitHub account with access to the repository that owns the package
|
|
349
|
-
- you have a GitHub `personal access token (classic)`
|
|
350
|
-
- that token has at least:
|
|
351
|
-
- `write:packages`
|
|
352
|
-
- `read:packages`
|
|
353
|
-
- you are authenticated to `https://npm.pkg.github.com`
|
|
354
|
-
- the package builds and tests pass locally
|
|
355
|
-
|
|
356
|
-
Important:
|
|
357
|
-
|
|
358
|
-
- GitHub Packages for npm currently uses `personal access token (classic)` authentication
|
|
359
|
-
- for npm CLI v9+, GitHub recommends `--auth-type=legacy` when logging in from the command line
|
|
360
|
-
|
|
361
|
-
### Step-by-step
|
|
362
|
-
|
|
363
|
-
#### 1. Build and validate the package
|
|
364
|
-
|
|
365
|
-
```bash
|
|
366
|
-
npm install
|
|
367
|
-
npm run build
|
|
368
|
-
npm test
|
|
369
|
-
npm run test:e2e
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
#### 2. Create a GitHub personal access token (classic)
|
|
373
|
-
|
|
374
|
-
Create a token in GitHub with:
|
|
375
|
-
|
|
376
|
-
- `write:packages`
|
|
377
|
-
- `read:packages`
|
|
378
|
-
|
|
379
|
-
If you also want to delete packages later, add:
|
|
380
|
-
|
|
381
|
-
- `delete:packages`
|
|
382
|
-
|
|
383
|
-
#### 3. Authenticate npm to GitHub Packages
|
|
384
|
-
|
|
385
|
-
You can authenticate in either of these ways.
|
|
386
|
-
|
|
387
|
-
Option A: add your token to `~/.npmrc`
|
|
388
|
-
|
|
389
|
-
```ini
|
|
390
|
-
//npm.pkg.github.com/:_authToken=YOUR_GITHUB_PAT_CLASSIC
|
|
391
|
-
```
|
|
392
|
-
|
|
393
|
-
Option B: log in with npm
|
|
394
|
-
|
|
395
|
-
```bash
|
|
396
|
-
npm login --scope=@YOUR_GITHUB_SCOPE --auth-type=legacy --registry=https://npm.pkg.github.com
|
|
213
|
+
npm install -g @rudinmax87/united-we-stand
|
|
397
214
|
```
|
|
398
215
|
|
|
399
|
-
|
|
216
|
+
2. Install the framework inside your repository:
|
|
400
217
|
|
|
401
218
|
```bash
|
|
402
|
-
|
|
219
|
+
united-we-stand install
|
|
403
220
|
```
|
|
404
221
|
|
|
405
|
-
|
|
222
|
+
3. In a new chat in your supported AI tool, initialize the branch:
|
|
406
223
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
- Email: your GitHub account email
|
|
410
|
-
|
|
411
|
-
#### 4. Prepare the GitHub-scoped publish artifact
|
|
412
|
-
|
|
413
|
-
```bash
|
|
414
|
-
npm run prepare:publish:github
|
|
224
|
+
```text
|
|
225
|
+
AGENTS.md initialize this branch for adding OAuth login. Only do the initialization step.
|
|
415
226
|
```
|
|
416
227
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
- a temporary GitHub-scoped publish artifact
|
|
420
|
-
- a GitHub-scoped package manifest
|
|
421
|
-
- the compiled CLI output and installed framework assets needed for publication
|
|
422
|
-
|
|
423
|
-
#### 5. Inspect the generated publish artifact
|
|
424
|
-
|
|
425
|
-
Confirm that these files exist:
|
|
426
|
-
|
|
427
|
-
- the generated GitHub-scoped package manifest
|
|
428
|
-
- the generated compiled CLI output
|
|
429
|
-
- the generated `.united-we-stand/` asset copy
|
|
430
|
-
|
|
431
|
-
The generated `package.json` in that folder is already configured for:
|
|
432
|
-
|
|
433
|
-
- package name: `@mrudinal/united-we-stand`
|
|
434
|
-
- registry: `https://npm.pkg.github.com`
|
|
228
|
+
4. Continue through the numbered workflow stages in chat:
|
|
435
229
|
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
```bash
|
|
443
|
-
npm publish .publish/github
|
|
230
|
+
```text
|
|
231
|
+
plan this feature
|
|
232
|
+
design the architecture for this change
|
|
233
|
+
implement this now
|
|
234
|
+
do a code review
|
|
235
|
+
wrap this up
|
|
444
236
|
```
|
|
445
237
|
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
The generated GitHub Packages artifact uses:
|
|
449
|
-
|
|
450
|
-
- package name: `@mrudinal/united-we-stand`
|
|
451
|
-
- registry: `https://npm.pkg.github.com`
|
|
238
|
+
5. At any point, ask for status:
|
|
452
239
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
```bash
|
|
456
|
-
npm install
|
|
457
|
-
npm run build
|
|
458
|
-
npm test
|
|
459
|
-
npm run test:e2e
|
|
460
|
-
npm login --scope=@YOUR_GITHUB_SCOPE --auth-type=legacy --registry=https://npm.pkg.github.com
|
|
461
|
-
npm run prepare:publish:github
|
|
462
|
-
npm publish .publish/github
|
|
240
|
+
```text
|
|
241
|
+
what is the current status of united-we-stand
|
|
463
242
|
```
|
|
464
243
|
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
### Verify The GitHub Package Exists
|
|
468
|
-
|
|
469
|
-
After publishing, verify the package in both the CLI and the GitHub UI.
|
|
470
|
-
|
|
471
|
-
#### Verify from the CLI
|
|
472
|
-
|
|
473
|
-
If you already authenticated npm to GitHub Packages, run:
|
|
244
|
+
`0-status-checker` is a routing and validation stage, not a delivery stage. After initialization, simple prompts such as `lets move to the next step`, `next step`, or `do the next step` should move the AI framework to the next numbered stage.
|
|
474
245
|
|
|
475
|
-
|
|
476
|
-
npm view @YOUR_GITHUB_SCOPE/united-we-stand version --registry=https://npm.pkg.github.com
|
|
477
|
-
```
|
|
246
|
+
## Creating Your Own Package
|
|
478
247
|
|
|
479
|
-
|
|
248
|
+
If you want to generate and publish your own package variant of this framework, follow [the maintainer guide](https://github.com/mrudinal/united-we-stand-framework/blob/main/docs/generate-your-own-package.md).
|
|
480
249
|
|
|
481
|
-
|
|
482
|
-
npm view @mrudinal/united-we-stand version --registry=https://npm.pkg.github.com
|
|
483
|
-
```
|
|
250
|
+
## Contents in this repository
|
|
484
251
|
|
|
485
|
-
|
|
252
|
+
### What This Repository Contains
|
|
486
253
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
254
|
+
- `src/`
|
|
255
|
+
- CLI entrypoint, commands, and library code
|
|
256
|
+
- `.united-we-stand/`
|
|
257
|
+
- framework markdown assets that are installed into target repositories
|
|
258
|
+
- `tests/`
|
|
259
|
+
- unit, integration, and built-CLI smoke coverage
|
|
260
|
+
- `scripts/`
|
|
261
|
+
- maintainer scripts, including GitHub publish artifact preparation
|
|
262
|
+
- `public/`
|
|
263
|
+
- repository-local static assets such as the project logo used in this README
|
|
264
|
+
- `VERSIONS.md`
|
|
265
|
+
- manual package version history and release notes
|
|
490
266
|
|
|
491
|
-
|
|
267
|
+
## Repository Layout
|
|
492
268
|
|
|
493
|
-
```
|
|
494
|
-
|
|
269
|
+
```text
|
|
270
|
+
repo-root/
|
|
271
|
+
|-- .united-we-stand/
|
|
272
|
+
|-- public/
|
|
273
|
+
|-- scripts/
|
|
274
|
+
|-- src/
|
|
275
|
+
| |-- cli.tsx
|
|
276
|
+
| |-- index.tsx
|
|
277
|
+
| |-- commands/
|
|
278
|
+
| `-- lib/
|
|
279
|
+
|-- tests/
|
|
280
|
+
|-- LICENSE
|
|
281
|
+
|-- package-lock.json
|
|
282
|
+
|-- package.json
|
|
283
|
+
|-- README.md
|
|
284
|
+
|-- VERSIONS.md
|
|
285
|
+
|-- tsconfig.json
|
|
286
|
+
`-- vitest.config.ts
|
|
495
287
|
```
|
|
496
288
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
#### Verify in the GitHub UI
|
|
500
|
-
|
|
501
|
-
Open GitHub and check the package in the UI:
|
|
502
|
-
|
|
503
|
-
1. Go to your GitHub profile or the owning account.
|
|
504
|
-
2. Open the `Packages` tab.
|
|
505
|
-
3. Look for `united-we-stand`.
|
|
506
|
-
4. Open the package page and confirm:
|
|
507
|
-
- package name matches your published scope and package name
|
|
508
|
-
- the newly published version is listed
|
|
509
|
-
- installation instructions and package metadata are visible
|
|
510
|
-
|
|
511
|
-
For this repository today, the example package name is `@mrudinal/united-we-stand`.
|
|
289
|
+
# License
|
|
512
290
|
|
|
513
|
-
|
|
291
|
+
This project is licensed under the **MIT License**.
|
|
514
292
|
|
|
515
|
-
|
|
293
|
+
That means you may use it, copy it, modify it, merge it, publish it, distribute it, sublicense it, and/or sell copies of it, subject only to the conditions of the MIT License itself.
|
|
516
294
|
|
|
517
|
-
|
|
518
|
-
- the root package publishes to npm as `@rudinmax87/united-we-stand`
|
|
519
|
-
- the generated temporary GitHub artifact publishes to GitHub Packages as `@mrudinal/united-we-stand`
|
|
520
|
-
- replace those example scopes with your own if you publish from a different owner account or fork
|
|
521
|
-
- if authentication fails during GitHub Packages publish, re-check that your token is a `personal access token (classic)` with `write:packages`
|
|
295
|
+
Those MIT conditions are:
|
|
522
296
|
|
|
523
|
-
|
|
297
|
+
1. The copyright notice must be included in copies or substantial portions of the software.
|
|
298
|
+
2. The software is provided **as is**, without warranty of any kind.
|
|
524
299
|
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
**The only requirement when publishing a derived framework, package, or tool** is to credit the original: include the author username, the package name and version your work is based on, and the repository URL in your credits, and star the source repository. That's it.
|
|
300
|
+
There are **no additional legal restrictions beyond MIT**.
|
|
528
301
|
|
|
529
302
|
See the [LICENSE](./LICENSE) file for the full legal text.
|
|
530
303
|
|
|
@@ -544,7 +317,7 @@ See the [LICENSE](./LICENSE) file for the full legal text.
|
|
|
544
317
|
|
|
545
318
|
### Community Terms
|
|
546
319
|
|
|
547
|
-
|
|
320
|
+
The following are **community requests and project norms**, not additional legal license conditions.
|
|
548
321
|
|
|
549
322
|
#### Public Use and Participation
|
|
550
323
|
|
|
@@ -555,32 +328,26 @@ This framework is public and free for anyone to use, evaluate, and deploy. You a
|
|
|
555
328
|
- **Bug fixes take priority over new features.** The stability and correctness of the framework model comes before expanding its scope. A broken workflow rule or incorrect CLI behavior will be addressed before a new agent or command is added.
|
|
556
329
|
- **Feature requests are accepted as issues.** If you have a feature idea, open an issue. There is no guarantee of implementation, but well-reasoned requests are considered.
|
|
557
330
|
|
|
558
|
-
#### Derived Works and Attribution (required)
|
|
559
|
-
|
|
560
|
-
This is the one condition that applies when publishing a derived work. If you create a new framework, package, tool, or product that is substantially based on or derived from `united-we-stand`, two things are required:
|
|
561
|
-
|
|
562
|
-
1. **Credit is required.** Your project's README, documentation, or credits section must include all of the following:
|
|
563
|
-
|
|
564
|
-
| Field | Required value |
|
|
565
|
-
|---|---|
|
|
566
|
-
| Author / maintainer username | `mrudinal` |
|
|
567
|
-
| Package name and version | `@rudinmax87/united-we-stand@<version you based your work on>` |
|
|
568
|
-
| Source repository URL | `https://github.com/mrudinal/united-we-stand-framework` |
|
|
331
|
+
#### Derived Works and Attribution (requested, not required)
|
|
569
332
|
|
|
570
|
-
|
|
333
|
+
If you publish a framework, package, tool, or product that is substantially based on or inspired by `united-we-stand`, attribution is appreciated.
|
|
571
334
|
|
|
572
|
-
|
|
573
|
-
Based on @rudinmax87/united-we-stand@<version> by mrudinal
|
|
574
|
-
https://github.com/mrudinal/united-we-stand-framework
|
|
575
|
-
```
|
|
335
|
+
Suggested credit information:
|
|
576
336
|
|
|
577
|
-
|
|
337
|
+
| Field | Suggested value |
|
|
338
|
+
|---|---|
|
|
339
|
+
| Author / maintainer username | `mrudinal` |
|
|
340
|
+
| Package name and version | `@rudinmax87/united-we-stand@<version you based your work on>` |
|
|
341
|
+
| Source repository URL | `https://github.com/mrudinal/united-we-stand-framework` |
|
|
578
342
|
|
|
579
|
-
|
|
343
|
+
Suggested credit format:
|
|
580
344
|
|
|
581
|
-
|
|
345
|
+
```text
|
|
346
|
+
Based on @rudinmax87/united-we-stand@<version> by mrudinal
|
|
347
|
+
https://github.com/mrudinal/united-we-stand-framework
|
|
348
|
+
```
|
|
582
349
|
|
|
583
|
-
|
|
350
|
+
# Versioning
|
|
584
351
|
|
|
585
352
|
This project follows **Semantic Versioning** (`MAJOR.MINOR.PATCH`):
|
|
586
353
|
|
|
@@ -590,6 +357,6 @@ This project follows **Semantic Versioning** (`MAJOR.MINOR.PATCH`):
|
|
|
590
357
|
|
|
591
358
|
You can safely pin a minor version (e.g., `^0.1.0`) and expect patch updates to be non-breaking within that range.
|
|
592
359
|
|
|
593
|
-
|
|
360
|
+
# No Warranty
|
|
594
361
|
|
|
595
362
|
This software is provided as-is. The MIT License explicitly disclaims all warranties. Use it in production at your own discretion. Bugs will be addressed but there is no SLA or guaranteed response time.
|