@akira-tl/forgerelay 0.1.0 → 0.2.0
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/CHANGELOG.md +36 -0
- package/README.md +57 -10
- package/dist/artifact-tools.js +28 -14
- package/dist/cli.js +46 -3
- package/dist/config.js +14 -0
- package/dist/db/migrations.js +8 -0
- package/dist/db/schema.js +1 -0
- package/dist/hook-cli.js +100 -0
- package/dist/hooks.js +542 -0
- package/dist/local-agent-store.js +14 -1
- package/dist/mcp/server-instructions.js +2 -1
- package/dist/process-platform.js +1 -0
- package/dist/server.js +542 -415
- package/dist/user-config.js +33 -1
- package/dist/workspaces.js +87 -16
- package/docs/chatgpt-coding-workflow.md +11 -5
- package/docs/configuration.md +137 -0
- package/docs/debugging.md +126 -0
- package/docs/roadmap.md +16 -21
- package/docs/security.md +14 -0
- package/docs/versioning.md +22 -15
- package/package.json +5 -3
- package/scripts/debug/accept.mjs +615 -0
- package/scripts/debug/config.json +40 -0
- package/scripts/debug/hook-recorder.mjs +35 -0
- package/scripts/debug/runtime.mjs +47 -0
- package/scripts/debug/serve.mjs +37 -0
- package/scripts/dev-server.mjs +1 -1
package/docs/versioning.md
CHANGED
|
@@ -94,24 +94,30 @@ npm run release:tag-check -- v0.1.0
|
|
|
94
94
|
A release tag must exactly equal `v` followed by the package version, and
|
|
95
95
|
`Unreleased` must be empty.
|
|
96
96
|
|
|
97
|
-
##
|
|
97
|
+
## CI and tag-triggered publishing
|
|
98
98
|
|
|
99
|
-
`.github/workflows/
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
`.github/workflows/ci.yml` is a reusable workflow with only a `workflow_call`
|
|
100
|
+
entry point. It does not run on ordinary branch pushes, pull-request updates, or
|
|
101
|
+
manual dispatches. Day-to-day development therefore does not consume cloud CI.
|
|
102
|
+
|
|
103
|
+
`.github/workflows/release.yml` is the single GitHub Actions entry point. It runs
|
|
104
|
+
only for stable SemVer tags matching `v[0-9]+.[0-9]+.[0-9]+` in the
|
|
105
|
+
`Akira-TL/forgerelay` repository. The release helper then requires the tag to
|
|
106
|
+
exactly equal `v` plus the package version. Ordinary branch pushes never enter
|
|
107
|
+
cloud CI or publication.
|
|
103
108
|
|
|
104
109
|
For a valid tag, the workflow:
|
|
105
110
|
|
|
106
|
-
1.
|
|
107
|
-
2.
|
|
108
|
-
3.
|
|
109
|
-
4.
|
|
110
|
-
5.
|
|
111
|
-
6.
|
|
112
|
-
7.
|
|
113
|
-
8.
|
|
114
|
-
9.
|
|
111
|
+
1. invokes `.github/workflows/ci.yml` for the cloud multi-platform verification;
|
|
112
|
+
2. waits for every CI matrix job to pass;
|
|
113
|
+
3. checks out the tagged commit with full Git history;
|
|
114
|
+
4. verifies the tagged commit is contained in `origin/main`;
|
|
115
|
+
5. installs dependencies and checks the tag against `package.json` and `CHANGELOG.md`;
|
|
116
|
+
6. rebuilds the publish artifact on the publication runner;
|
|
117
|
+
7. runs `npm pack --dry-run`;
|
|
118
|
+
8. checks whether the exact npm version is already published;
|
|
119
|
+
9. publishes `@akira-tl/forgerelay` when necessary;
|
|
120
|
+
10. creates the matching GitHub Release after npm publication succeeds.
|
|
115
121
|
|
|
116
122
|
The npm existence check makes the workflow safely restartable when npm
|
|
117
123
|
publication succeeds but GitHub Release creation fails afterward.
|
|
@@ -152,7 +158,8 @@ npm publishing token.
|
|
|
152
158
|
3. Run the appropriate `release:patch`, `release:minor`, or `release:major`
|
|
153
159
|
command.
|
|
154
160
|
4. Review the generated version and changelog diff.
|
|
155
|
-
5. Run `npm run release:verify
|
|
161
|
+
5. Run `npm run release:verify` locally. This full local gate is a release-time
|
|
162
|
+
operation; ordinary development pushes do not need to run the full release gate.
|
|
156
163
|
6. Commit the release-ready code and metadata and push `main`.
|
|
157
164
|
7. Create the exact version tag, for example:
|
|
158
165
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akira-tl/forgerelay",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Local development control plane for MCP coding agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/Akira-TL/forgerelay#readme",
|
|
@@ -36,10 +36,12 @@
|
|
|
36
36
|
"clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
|
|
37
37
|
"build": "npm run clean && npm run build:app && tsc -p tsconfig.build.json",
|
|
38
38
|
"build:app": "vite build",
|
|
39
|
-
"dev": "node scripts/
|
|
39
|
+
"dev": "node scripts/debug/serve.mjs",
|
|
40
|
+
"debug:serve": "node scripts/debug/serve.mjs",
|
|
41
|
+
"debug:accept": "node scripts/debug/accept.mjs",
|
|
40
42
|
"postinstall": "node scripts/fix-node-pty-permissions.mjs",
|
|
41
43
|
"start": "node dist/cli.js serve",
|
|
42
|
-
"test": "tsx src/config.test.ts && tsx src/mcp/server-instructions.test.ts && tsx src/request-meta.test.ts && tsx src/incoming-artifacts.test.ts && tsx src/artifact-download.test.ts && tsx src/ui/card-types.test.ts && tsx src/ui/patch-display.test.ts && tsx src/ui/tool-display.test.ts && tsx src/apply-patch.test.ts && tsx src/process-platform.test.ts && tsx src/process-sessions.test.ts && tsx src/mcp-sessions.test.ts && tsx src/server-shutdown.test.ts && tsx src/local-agent-runtime.test.ts && tsx src/local-agent-adapters.test.ts && tsx src/local-agent-availability.test.ts && tsx src/local-agent-profiles.test.ts && tsx src/local-agent-targets.test.ts && tsx src/local-agent-store.test.ts && tsx src/roots.test.ts && tsx src/skills.test.ts && tsx src/workspaces.test.ts && tsx src/workspace-conversation.test.ts && tsx src/review-checkpoints.test.ts && tsx src/server.test.ts && tsx src/oauth-store.test.ts && tsx src/cli.test.ts",
|
|
44
|
+
"test": "tsx src/config.test.ts && tsx src/hooks.test.ts && tsx src/mcp/server-instructions.test.ts && tsx src/request-meta.test.ts && tsx src/incoming-artifacts.test.ts && tsx src/artifact-download.test.ts && tsx src/ui/card-types.test.ts && tsx src/ui/patch-display.test.ts && tsx src/ui/tool-display.test.ts && tsx src/apply-patch.test.ts && tsx src/process-platform.test.ts && tsx src/process-sessions.test.ts && tsx src/mcp-sessions.test.ts && tsx src/server-shutdown.test.ts && tsx src/local-agent-runtime.test.ts && tsx src/local-agent-adapters.test.ts && tsx src/local-agent-availability.test.ts && tsx src/local-agent-profiles.test.ts && tsx src/local-agent-targets.test.ts && tsx src/local-agent-store.test.ts && tsx src/roots.test.ts && tsx src/skills.test.ts && tsx src/workspaces.test.ts && tsx src/workspace-conversation.test.ts && tsx src/review-checkpoints.test.ts && tsx src/server.test.ts && tsx src/oauth-store.test.ts && tsx src/cli.test.ts",
|
|
43
45
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
44
46
|
"release:check": "node scripts/release-version.mjs check",
|
|
45
47
|
"release:tag-check": "node scripts/release-version.mjs tag",
|