@warpgogol/forge 2.8.2 → 2.9.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warpgogol/forge",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -148,6 +148,7 @@
|
|
|
148
148
|
"skills/",
|
|
149
149
|
"profiles/",
|
|
150
150
|
"src/",
|
|
151
|
+
"src/onboarding/templates/",
|
|
151
152
|
"os/",
|
|
152
153
|
"AGENTS.md",
|
|
153
154
|
"README.md",
|
|
@@ -75,6 +75,7 @@ workspace:
|
|
|
75
75
|
.generated/
|
|
76
76
|
.turbo/
|
|
77
77
|
.cache/
|
|
78
|
+
operator-profile.md
|
|
78
79
|
- path: knowledge/manifest.yaml
|
|
79
80
|
content: |
|
|
80
81
|
# Knowledge manifest — canonical dataset identity
|
|
@@ -102,6 +103,8 @@ workspace:
|
|
|
102
103
|
plugin:
|
|
103
104
|
id: werkstatt-knowledge
|
|
104
105
|
package: "@warpgogol/werkstatt-knowledge"
|
|
106
|
+
install:
|
|
107
|
+
- pnpm add -wD @warpgogol/forge @warpgogol/werkstatt @warpgogol/werkstatt-knowledge prettier
|
|
105
108
|
agents:
|
|
106
109
|
root: |
|
|
107
110
|
# Knowledge Base Workshop
|
|
@@ -24,16 +24,13 @@ function readPackageFiles(): string[] {
|
|
|
24
24
|
|
|
25
25
|
test("package.json files array includes src/onboarding/templates/", () => {
|
|
26
26
|
const files = readPackageFiles();
|
|
27
|
-
|
|
28
|
-
(f) => f === "src/onboarding/templates/" || f === "src/onboarding/templates/*" || f === "src/",
|
|
29
|
-
);
|
|
30
|
-
expect(hasTemplates).toBe(true);
|
|
27
|
+
expect(files).toContain("src/onboarding/templates/");
|
|
31
28
|
});
|
|
32
29
|
|
|
33
30
|
test("all template files in src/onboarding/templates/ are covered by files array", () => {
|
|
34
31
|
const files = readPackageFiles();
|
|
35
32
|
const hasTemplatesGlob = files.some(
|
|
36
|
-
(f) => f === "src/onboarding/templates/" || f === "src/onboarding/templates/*"
|
|
33
|
+
(f) => f === "src/onboarding/templates/" || f === "src/onboarding/templates/*",
|
|
37
34
|
);
|
|
38
35
|
expect(hasTemplatesGlob).toBe(true);
|
|
39
36
|
});
|
|
@@ -90,7 +90,7 @@ test("forge.scaffold derives name from folder when --name omitted", async () =>
|
|
|
90
90
|
test("forge.scaffold fails on non-kebab-case name", async () => {
|
|
91
91
|
const result = await runScaffoldProject(
|
|
92
92
|
{ argv: [], flags: { profile: "phaser-turborepo", name: "MySite" } },
|
|
93
|
-
makeContext(tempDir),
|
|
93
|
+
{ ...makeContext(tempDir), forgeRoot: FORGE_ROOT },
|
|
94
94
|
);
|
|
95
95
|
expect(result.exitCode).toBe(1);
|
|
96
96
|
expect(result.data?.errors[0]).toContain("kebab-case");
|
|
@@ -162,8 +162,6 @@ test("listStackProfiles finds all shipped profiles", () => {
|
|
|
162
162
|
test("all shipped profiles include @warpgogol/forge in install steps or package.json template", () => {
|
|
163
163
|
const profiles = listStackProfiles(FORGE_ROOT);
|
|
164
164
|
for (const profile of profiles) {
|
|
165
|
-
// knowledge-typescript-turborepo uses @warpgogol/werkstatt-knowledge plugin, not forge
|
|
166
|
-
if (profile.id === "knowledge-typescript-turborepo") continue;
|
|
167
165
|
const hasForgeInInstall = profile.install.some((cmd) => cmd.includes("@warpgogol/forge"));
|
|
168
166
|
const pkgFile = profile.workspace.files.find((f) => f.path === "package.json");
|
|
169
167
|
const hasForgeInPkg = pkgFile?.content.includes("@warpgogol/forge") ?? false;
|
|
@@ -174,8 +172,6 @@ test("all shipped profiles include @warpgogol/forge in install steps or package.
|
|
|
174
172
|
test("all shipped profiles include operator-profile.md in .gitignore content", () => {
|
|
175
173
|
const profiles = listStackProfiles(FORGE_ROOT);
|
|
176
174
|
for (const profile of profiles) {
|
|
177
|
-
// knowledge-typescript-turborepo uses a different plugin and gitignore template
|
|
178
|
-
if (profile.id === "knowledge-typescript-turborepo") continue;
|
|
179
175
|
const gitignoreFile = profile.workspace.files.find((f) => f.path === ".gitignore");
|
|
180
176
|
expect(gitignoreFile).toBeDefined();
|
|
181
177
|
expect(gitignoreFile?.content).toContain("operator-profile.md");
|