aiwg 2026.5.4 → 2026.5.5
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/README.md +11 -0
- package/agentic/code/addons/aiwg-utils/manifest.json +2 -1
- package/agentic/code/frameworks/sdlc-complete/templates/aiwg-sections/02b-discover-first.md +42 -0
- package/agentic/code/frameworks/sdlc-complete/templates/aiwg-sections/manifest.json +7 -0
- package/agentic/code/frameworks/sdlc-complete/templates/copilot/copilot-instructions.md.aiwg-template +11 -0
- package/dist/src/cli/handlers/use.d.ts.map +1 -1
- package/dist/src/cli/handlers/use.js +21 -0
- package/dist/src/cli/handlers/use.js.map +1 -1
- package/dist/src/cli/project-isolation/detect.d.ts +8 -0
- package/dist/src/cli/project-isolation/detect.d.ts.map +1 -0
- package/dist/src/cli/project-isolation/detect.js +70 -0
- package/dist/src/cli/project-isolation/detect.js.map +1 -0
- package/dist/src/cli/project-isolation/index.d.ts +6 -0
- package/dist/src/cli/project-isolation/index.d.ts.map +1 -0
- package/dist/src/cli/project-isolation/index.js +7 -0
- package/dist/src/cli/project-isolation/index.js.map +1 -0
- package/dist/src/cli/project-isolation/signals.d.ts +4 -0
- package/dist/src/cli/project-isolation/signals.d.ts.map +1 -0
- package/dist/src/cli/project-isolation/signals.js +17 -0
- package/dist/src/cli/project-isolation/signals.js.map +1 -0
- package/dist/src/cli/project-isolation/warning.d.ts +20 -0
- package/dist/src/cli/project-isolation/warning.d.ts.map +1 -0
- package/dist/src/cli/project-isolation/warning.js +102 -0
- package/dist/src/cli/project-isolation/warning.js.map +1 -0
- package/dist/src/mcp/tools/discovery.mjs +1 -1
- package/package.json +1 -1
- package/tools/agents/providers/hermes.mjs +21 -5
- package/tools/warp/setup-warp.mjs +73 -1
package/README.md
CHANGED
|
@@ -49,6 +49,17 @@ AIWG is a deployment tool and support utility for AI context. At its core, `aiwg
|
|
|
49
49
|
|
|
50
50
|
Around that core, AIWG ships utilities for things the base platforms do not handle on their own: persistent artifact memory (`.aiwg/`), background orchestration (`aiwg mc`), autonomous loops (`aiwg ralph`), artifact indexing (`aiwg index`), cost telemetry, health diagnostics, and more. Most are opt-in. The deployment layer works standalone as plain text files the platform reads natively.
|
|
51
51
|
|
|
52
|
+
### Project scope (recommended) vs user scope (global)
|
|
53
|
+
|
|
54
|
+
`aiwg use` writes artifacts at one of two scopes. Both are first-class supported (see ADR-NUA-001 in `.aiwg/studies/novice-user-adoption/`):
|
|
55
|
+
|
|
56
|
+
- **Project scope** — default. Run `aiwg use sdlc` from a project root and the artifacts land in `./.claude/agents/`, `./.claude/skills/`, etc. One project's agent set never bleeds into another's session. **This is the recommended default for most use cases.**
|
|
57
|
+
- **User scope (global install)** — `aiwg use sdlc --scope user` writes to `~/.claude/agents/`, `~/.claude/skills/`, etc. Same artifact set loads into every session, regardless of project. Fits "AIWG in every conversation" workflows and is the canonical mode for OpenClaw and Hermes (whose primary discovery is user-scope).
|
|
58
|
+
|
|
59
|
+
The trade-off is real: when the same agent set loads into every session, context from one project can bleed into reasoning about another. Research (REF-720, *Lost in Multi-Turn Conversation*, MSR/Salesforce 2025) measured a 39% capability drop when this happens. The non-blocking project-isolation warning surfaces the trade-off at deploy time so the scope choice is informed. Neither scope is wrong; pick the one that fits the workflow.
|
|
60
|
+
|
|
61
|
+
See `docs/cli-reference.md` (under `aiwg use` → "Scope models") for the per-provider details and the global-install rough-edge inventory.
|
|
62
|
+
|
|
52
63
|
## Simple Building Blocks
|
|
53
64
|
|
|
54
65
|
AIWG ships five primitive artifact types. All are plain text:
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
"consolidation": {
|
|
37
37
|
"strategy": "index-with-links",
|
|
38
38
|
"rulesIndex": "rules/RULES-INDEX.md",
|
|
39
|
-
"deployIndexOnly":
|
|
39
|
+
"deployIndexOnly": false,
|
|
40
|
+
"_note": "deployIndexOnly was true (#1343); changed to false 2026-05-14 so individual rule files (including skill-discovery.md) deploy to every provider's rules directory alongside the index. RULES-INDEX.md remains the canonical entry point; its links now resolve to local files on every provider, not just Claude/Cursor."
|
|
40
41
|
},
|
|
41
42
|
"commands": [],
|
|
42
43
|
"agents": [
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
## Discover-First Protocol (CRITICAL)
|
|
2
|
+
|
|
3
|
+
Before declining a user request as "outside AIWG's scope" or improvising a workflow from training data, you MUST consult AIWG's artifact index.
|
|
4
|
+
|
|
5
|
+
AIWG ships ~400 skills, ~190 agents, ~70 commands, and ~60 rules across its installed frameworks. Most are NOT loaded into your context — they live at the install location and reach you via two CLI commands:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
aiwg discover "<paraphrased user need>"
|
|
9
|
+
aiwg show <type> <name> # e.g. aiwg show skill flow-deploy-to-production
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### When to run discover
|
|
13
|
+
|
|
14
|
+
You MUST run `aiwg discover` when any of the following is true:
|
|
15
|
+
|
|
16
|
+
- You are about to tell the user "AIWG doesn't have a way to do that"
|
|
17
|
+
- You are about to write a custom workflow / script / procedure from scratch
|
|
18
|
+
- The user's request mentions AIWG, a framework name (sdlc, research, forensics, ops, security-engineering, marketing, media-curator, knowledge-base), or capability keywords (skill, agent, command, rule, workflow, flow, template, addon)
|
|
19
|
+
- You are uncertain whether a curated AIWG artifact already addresses the request
|
|
20
|
+
|
|
21
|
+
You MAY skip discover only when:
|
|
22
|
+
|
|
23
|
+
- The user named a specific skill/command (e.g. `/flow-deploy-to-production`)
|
|
24
|
+
- The capability is clearly outside AIWG's scope (weather, translation, unrelated programming)
|
|
25
|
+
- You already ran `aiwg discover` for the same need this session
|
|
26
|
+
- A loaded quickref directly names the skill the user needs
|
|
27
|
+
|
|
28
|
+
### Discover-first, NOT filesystem-first
|
|
29
|
+
|
|
30
|
+
When the user's request mentions an AIWG keyword, `aiwg discover` is your FIRST tool call — not `Grep` / `Glob` / `Read` against provider directories like `.claude/`, `.codex/`, `.factory/`, `.warp/`, `.windsurf/`, `~/.openclaw/`, or `~/.hermes/`.
|
|
31
|
+
|
|
32
|
+
Filesystem search against those paths is FORBIDDEN as a first move for AIWG-internal lookups. The reason: the discover index covers 10x the surface area that any single provider directory holds, and gives you ranked results with capability summaries. Grep gives you a literal-string hit and stops.
|
|
33
|
+
|
|
34
|
+
### After discover returns a match
|
|
35
|
+
|
|
36
|
+
Use `aiwg show <type> <name>` to fetch the body — never `Read` on the returned path, never `find` / `ls` against the corpus directory. The CLI handles the read; you handle the application.
|
|
37
|
+
|
|
38
|
+
### Why this matters
|
|
39
|
+
|
|
40
|
+
Most AIWG skills are not in your context by design — that's how the kernel-skill model keeps your context lean while making the full corpus reachable. Enumerating from memory will miss obvious matches. The cost of running `aiwg discover` is one CLI invocation; the cost of skipping it is recommending a workflow AIWG already has, or declining a request AIWG can already serve.
|
|
41
|
+
|
|
42
|
+
The full discover-first rule (with detection heuristics, recovery procedure, and integration with other rules) is deployed at the framework's rules path as `skill-discovery.md`. Read it once at session start if you have not already.
|
|
@@ -15,6 +15,13 @@
|
|
|
15
15
|
"required": true,
|
|
16
16
|
"description": "Orchestration responsibilities, multi-agent workflow pattern, NL translations, available commands"
|
|
17
17
|
},
|
|
18
|
+
{
|
|
19
|
+
"id": "discover-first",
|
|
20
|
+
"file": "02b-discover-first.md",
|
|
21
|
+
"title": "Discover-First Protocol",
|
|
22
|
+
"required": true,
|
|
23
|
+
"description": "Mandates `aiwg discover` + `aiwg show` before declining requests or improvising workflows. Closes hookup-matrix Finding #2 (#1344) — the discover-first protocol now reaches every provider that loads AIWG.md (Codex, Windsurf, OpenCode, Hermes, plus Warp via twin emission)."
|
|
24
|
+
},
|
|
18
25
|
{
|
|
19
26
|
"id": "aiwg-rules",
|
|
20
27
|
"file": "03-aiwg-rules.md",
|
|
@@ -8,6 +8,17 @@ This file provides project-specific instructions for GitHub Copilot.
|
|
|
8
8
|
|
|
9
9
|
This project uses the AIWG SDLC Framework for software development lifecycle management.
|
|
10
10
|
|
|
11
|
+
### Discover-First Protocol (CRITICAL)
|
|
12
|
+
|
|
13
|
+
Before declining a user request as "outside AIWG's scope" or improvising a workflow from training data, you MUST consult AIWG's artifact index. AIWG ships ~400 skills, ~190 agents, ~70 commands, and ~60 rules — most are NOT loaded into your context. Reach them via:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
aiwg discover "<paraphrased user need>"
|
|
17
|
+
aiwg show <type> <name> # e.g. aiwg show skill flow-deploy-to-production
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Run `aiwg discover` whenever the user mentions AIWG, a framework name (sdlc, research, forensics, ops, marketing, security-engineering, media-curator, knowledge-base), or capability keywords (skill, agent, command, rule, workflow). Filesystem search against `.github/agents/`, `.github/skills/`, or `.github/instructions/` is FORBIDDEN as a first move for AIWG-internal lookups — `aiwg discover` covers 10x the surface area with ranked results. The full protocol is documented at `.github/copilot-rules/skill-discovery.md` (or `.github/instructions/skill-discovery.instructions.md`); read it once at session start.
|
|
21
|
+
|
|
11
22
|
### Available Custom Agents
|
|
12
23
|
|
|
13
24
|
AIWG agents are deployed to `.github/agents/` and can be invoked via `@agent-name`:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/cli/handlers/use.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/cli/handlers/use.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkG3E;;;GAGG;AACH,eAAO,MAAM,gBAAgB,aAAwB,CAAC;AAEtD;;GAEG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAM3E;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,aAA2B,CAAC;AAEpE;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsB/E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAmBD,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrE;AA4xBD;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC/C,EAAE,SAAS;IACX,IAAI,SAAmB;IACvB,WAAW,SAA8C;IACzD,QAAQ,EAAG,WAAW,CAAU;IAChC,OAAO,EAAE,MAAM,EAAE,CAAM;IAEjB,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAs9B3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAEjD;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,YAAmB,CAAC"}
|
|
@@ -30,6 +30,11 @@ import { appendProjectLocalActivity, emitDiscoverEventsDeduped, } from '../../ex
|
|
|
30
30
|
import { hashBundleArtifacts } from '../../extensions/project-local-remove.js';
|
|
31
31
|
import { installAiwgHooks } from '../../extensions/claude-hooks-installer.js';
|
|
32
32
|
import { detectScope, mirrorToUserScope, rejectOpenClawProjectScope } from '../scope-resolver.js';
|
|
33
|
+
import { maybeWarnProjectIsolation } from '../project-isolation/index.js';
|
|
34
|
+
// Module-level guard so the iteration loops further down (which re-enter
|
|
35
|
+
// execute() per framework/provider) don't re-emit the warning each pass.
|
|
36
|
+
// Reset is not needed: a single CLI process is one user invocation.
|
|
37
|
+
let projectIsolationChecked = false;
|
|
33
38
|
// Context-pipeline: emits AIWG.md + AGENTS.md as the last step of `aiwg use`
|
|
34
39
|
// for non-Claude providers per ADR-1 (.aiwg/architecture/adr-agents-md-aggregation.md).
|
|
35
40
|
// Distinct from agentsmith (which creates subagent personas).
|
|
@@ -917,6 +922,22 @@ export class UseHandler {
|
|
|
917
922
|
// Rewrite --prefix to --target for downstream compatibility
|
|
918
923
|
remainingArgs[prefixIdx] = '--target';
|
|
919
924
|
}
|
|
925
|
+
// Project-isolation warning (UC-NUA-002 / SAD §5.1). Fires once per CLI
|
|
926
|
+
// process. Skipped when --target/--prefix is explicit (the user named a
|
|
927
|
+
// destination) so the warning never fights with intentional out-of-cwd
|
|
928
|
+
// deploys. Skipped on recursive iteration via the module-level guard.
|
|
929
|
+
if (!projectIsolationChecked) {
|
|
930
|
+
projectIsolationChecked = true;
|
|
931
|
+
const userTargetedExplicitDir = remainingArgs.includes('--target');
|
|
932
|
+
if (!userTargetedExplicitDir) {
|
|
933
|
+
const isolationResult = await maybeWarnProjectIsolation({ cwd: ctx.cwd ?? process.cwd() });
|
|
934
|
+
if (isolationResult.cancelled) {
|
|
935
|
+
// User pressed Ctrl-C during the delay — exit cleanly with no
|
|
936
|
+
// artifacts written (UC-NUA-002 Alt A2).
|
|
937
|
+
return { exitCode: 130, message: 'Cancelled.' };
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
}
|
|
920
941
|
// Read project config for config-first resolution (#621).
|
|
921
942
|
// projectDir resolution uses the shared helper so --target/--prefix,
|
|
922
943
|
// ctx.cwd, and process.cwd() fallback are handled consistently across
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/cli/handlers/use.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/cli/handlers/use.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface DetectionResult {
|
|
2
|
+
found: boolean;
|
|
3
|
+
signal: string | null;
|
|
4
|
+
foundAt: string | null;
|
|
5
|
+
}
|
|
6
|
+
export declare function detectProjectSignal(start: string): DetectionResult;
|
|
7
|
+
export declare function isUnsuitableCwd(cwd: string, home: string): boolean;
|
|
8
|
+
//# sourceMappingURL=detect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../../src/cli/project-isolation/detect.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAKD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAgBlE;AAyBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAMlE"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// Stat-only signal-walk used by warning.ts to decide whether the cwd looks
|
|
2
|
+
// like a project. Stat-only is required so detection stays under 50ms even
|
|
3
|
+
// in deep directories (NFR-PERF-01). Walk depth is bounded by
|
|
4
|
+
// MAX_PARENT_DEPTH (NFR-PERF-02).
|
|
5
|
+
import { existsSync, readdirSync, statSync } from 'node:fs';
|
|
6
|
+
import { join, parse } from 'node:path';
|
|
7
|
+
import { PROJECT_SIGNALS, CSPROJ_PATTERN, MAX_PARENT_DEPTH } from './signals.js';
|
|
8
|
+
// Walk `start` and up to MAX_PARENT_DEPTH parents looking for any entry in
|
|
9
|
+
// PROJECT_SIGNALS, or any file matching CSPROJ_PATTERN. Returns on first
|
|
10
|
+
// hit so a project root in cwd short-circuits the walk.
|
|
11
|
+
export function detectProjectSignal(start) {
|
|
12
|
+
let dir = start;
|
|
13
|
+
for (let depth = 0; depth <= MAX_PARENT_DEPTH; depth++) {
|
|
14
|
+
for (const signal of PROJECT_SIGNALS) {
|
|
15
|
+
if (existsSync(join(dir, signal))) {
|
|
16
|
+
return { found: true, signal, foundAt: dir };
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (hasCsprojFile(dir)) {
|
|
20
|
+
return { found: true, signal: '*.csproj', foundAt: dir };
|
|
21
|
+
}
|
|
22
|
+
const parent = parse(dir).dir;
|
|
23
|
+
if (parent === dir)
|
|
24
|
+
break;
|
|
25
|
+
dir = parent;
|
|
26
|
+
}
|
|
27
|
+
return { found: false, signal: null, foundAt: null };
|
|
28
|
+
}
|
|
29
|
+
// True when `dir` directly contains at least one *.csproj file.
|
|
30
|
+
function hasCsprojFile(dir) {
|
|
31
|
+
try {
|
|
32
|
+
const entries = readdirSync(dir);
|
|
33
|
+
for (const entry of entries) {
|
|
34
|
+
if (CSPROJ_PATTERN.test(entry)) {
|
|
35
|
+
const full = join(dir, entry);
|
|
36
|
+
try {
|
|
37
|
+
if (statSync(full).isFile())
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// Ignore stat failures for individual entries — keep walking.
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Unreadable dir is treated as "no signal here." Walk continues.
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
// True when `cwd` is one of the directories where we should prompt the
|
|
52
|
+
// user. $HOME, /, and /tmp are the canonical surprise-deploy locations.
|
|
53
|
+
// The check tolerates trailing separators on Windows.
|
|
54
|
+
export function isUnsuitableCwd(cwd, home) {
|
|
55
|
+
const normalized = stripTrailingSep(cwd);
|
|
56
|
+
if (normalized === stripTrailingSep(home))
|
|
57
|
+
return true;
|
|
58
|
+
if (normalized === '/')
|
|
59
|
+
return true;
|
|
60
|
+
if (normalized === '/tmp')
|
|
61
|
+
return true;
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
function stripTrailingSep(p) {
|
|
65
|
+
if (p.length > 1 && (p.endsWith('/') || p.endsWith('\\'))) {
|
|
66
|
+
return p.slice(0, -1);
|
|
67
|
+
}
|
|
68
|
+
return p;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=detect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../../src/cli/project-isolation/detect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { maybeWarnProjectIsolation, WARNING_TEXT, GLOBAL_INSTALL_INFO, DEFAULT_DELAY_MS } from './warning.js';
|
|
2
|
+
export type { WarningOptions, WarningResult } from './warning.js';
|
|
3
|
+
export { detectProjectSignal, isUnsuitableCwd } from './detect.js';
|
|
4
|
+
export type { DetectionResult } from './detect.js';
|
|
5
|
+
export { PROJECT_SIGNALS, CSPROJ_PATTERN, MAX_PARENT_DEPTH } from './signals.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/project-isolation/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9G,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Public API for the project-isolation module. Consumers (use.ts) should
|
|
2
|
+
// import from here, not from internal files, so the module shape can evolve
|
|
3
|
+
// without rippling.
|
|
4
|
+
export { maybeWarnProjectIsolation, WARNING_TEXT, GLOBAL_INSTALL_INFO, DEFAULT_DELAY_MS } from './warning.js';
|
|
5
|
+
export { detectProjectSignal, isUnsuitableCwd } from './detect.js';
|
|
6
|
+
export { PROJECT_SIGNALS, CSPROJ_PATTERN, MAX_PARENT_DEPTH } from './signals.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/project-isolation/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,4EAA4E;AAC5E,oBAAoB;AAEpB,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9G,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const PROJECT_SIGNALS: readonly [".git", "package.json", "pyproject.toml", "Cargo.toml", "go.mod", "pom.xml", "Gemfile", "build.gradle"];
|
|
2
|
+
export declare const CSPROJ_PATTERN: RegExp;
|
|
3
|
+
export declare const MAX_PARENT_DEPTH = 3;
|
|
4
|
+
//# sourceMappingURL=signals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../../../src/cli/project-isolation/signals.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,mHASlB,CAAC;AAIX,eAAO,MAAM,cAAc,QAAe,CAAC;AAE3C,eAAO,MAAM,gBAAgB,IAAI,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Single source of truth for project-signal filenames used by detect.ts.
|
|
2
|
+
// Adding a new ecosystem means adding one entry here; nothing else changes (NFR-MAINT-01).
|
|
3
|
+
export const PROJECT_SIGNALS = [
|
|
4
|
+
'.git',
|
|
5
|
+
'package.json',
|
|
6
|
+
'pyproject.toml',
|
|
7
|
+
'Cargo.toml',
|
|
8
|
+
'go.mod',
|
|
9
|
+
'pom.xml',
|
|
10
|
+
'Gemfile',
|
|
11
|
+
'build.gradle',
|
|
12
|
+
];
|
|
13
|
+
// .csproj is matched separately via glob in detect.ts because the filename
|
|
14
|
+
// varies by project name.
|
|
15
|
+
export const CSPROJ_PATTERN = /\.csproj$/i;
|
|
16
|
+
export const MAX_PARENT_DEPTH = 3;
|
|
17
|
+
//# sourceMappingURL=signals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../../../../src/cli/project-isolation/signals.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,2FAA2F;AAE3F,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,SAAS;IACT,cAAc;CACN,CAAC;AAEX,2EAA2E;AAC3E,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const WARNING_TEXT = "No project detected here. AIWG will deploy to the current directory. To associate AIWG with a specific project, run this from your project root. Continuing in 3 seconds \u2014 press Ctrl-C to cancel.";
|
|
2
|
+
export declare const GLOBAL_INSTALL_INFO = "AIWG_GLOBAL_INSTALL=1 set \u2014 deploying to current directory without project check.";
|
|
3
|
+
export declare const DEFAULT_DELAY_MS = 3000;
|
|
4
|
+
export interface WarningOptions {
|
|
5
|
+
cwd: string;
|
|
6
|
+
home?: string;
|
|
7
|
+
env?: NodeJS.ProcessEnv;
|
|
8
|
+
delayMs?: number;
|
|
9
|
+
writer?: (msg: string) => void;
|
|
10
|
+
logActivity?: (operation: string, summary: string) => Promise<void>;
|
|
11
|
+
delayWithCancel?: (ms: number) => Promise<{
|
|
12
|
+
cancelled: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
export interface WarningResult {
|
|
16
|
+
cancelled: boolean;
|
|
17
|
+
outcome: 'global-install' | 'project-signal-found' | 'cwd-ok' | 'warned' | 'cancelled';
|
|
18
|
+
}
|
|
19
|
+
export declare function maybeWarnProjectIsolation(opts?: WarningOptions): Promise<WarningResult>;
|
|
20
|
+
//# sourceMappingURL=warning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warning.d.ts","sourceRoot":"","sources":["../../../../src/cli/project-isolation/warning.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,4MAC6K,CAAC;AAEvM,eAAO,MAAM,mBAAmB,2FACqD,CAAC;AAEtF,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IAEZ,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAG/B,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGpE,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,aAAa;IAE5B,SAAS,EAAE,OAAO,CAAC;IAEnB,OAAO,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;CACxF;AAID,wBAAsB,yBAAyB,CAC7C,IAAI,GAAE,cAAuC,GAC5C,OAAO,CAAC,aAAa,CAAC,CA6CxB"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// Warning emission + 3-second cancellable delay used by the `aiwg use`
|
|
2
|
+
// invocation path. Wraps detect.ts to enforce the trigger contract defined
|
|
3
|
+
// in UC-NUA-002 / SAD §5.1.2.
|
|
4
|
+
import { homedir } from 'node:os';
|
|
5
|
+
import { detectProjectSignal, isUnsuitableCwd } from './detect.js';
|
|
6
|
+
// Verbatim warning text from UC-NUA-002. Tests assert string equality so
|
|
7
|
+
// any wording change here breaks the build deliberately (NFR-USE-01).
|
|
8
|
+
export const WARNING_TEXT = 'No project detected here. AIWG will deploy to the current directory. To associate AIWG with a specific project, run this from your project root. Continuing in 3 seconds — press Ctrl-C to cancel.';
|
|
9
|
+
export const GLOBAL_INSTALL_INFO = 'AIWG_GLOBAL_INSTALL=1 set — deploying to current directory without project check.';
|
|
10
|
+
export const DEFAULT_DELAY_MS = 3000;
|
|
11
|
+
// The entrypoint called early in `aiwg use`. Returns synchronously when no
|
|
12
|
+
// warning is needed; awaits the delay when the warning fires.
|
|
13
|
+
export async function maybeWarnProjectIsolation(opts = { cwd: process.cwd() }) {
|
|
14
|
+
const cwd = opts.cwd;
|
|
15
|
+
const home = opts.home ?? homedir();
|
|
16
|
+
const env = opts.env ?? process.env;
|
|
17
|
+
const writer = opts.writer ?? defaultStderrWriter;
|
|
18
|
+
const logActivity = opts.logActivity ?? defaultActivityLogger;
|
|
19
|
+
const delayMs = opts.delayMs ?? DEFAULT_DELAY_MS;
|
|
20
|
+
const delayWithCancel = opts.delayWithCancel ?? defaultDelayWithCancel;
|
|
21
|
+
// Env-var opt-out is checked first so detection work is skipped entirely
|
|
22
|
+
// (NFR-REL-02, NFR-PERF-01).
|
|
23
|
+
if (env.AIWG_GLOBAL_INSTALL === '1') {
|
|
24
|
+
writer(GLOBAL_INSTALL_INFO);
|
|
25
|
+
return { cancelled: false, outcome: 'global-install' };
|
|
26
|
+
}
|
|
27
|
+
// If we find a signal anywhere on the walk, the cwd is part of a project.
|
|
28
|
+
// We continue silently — no warning, no info line — to keep the
|
|
29
|
+
// default UX unchanged (NFR-COMPAT-02).
|
|
30
|
+
const detection = detectProjectSignal(cwd);
|
|
31
|
+
if (detection.found) {
|
|
32
|
+
return { cancelled: false, outcome: 'project-signal-found' };
|
|
33
|
+
}
|
|
34
|
+
// No signal AND the cwd isn't a recognized surprise location. We assume
|
|
35
|
+
// the user knows what they're doing and continue silently.
|
|
36
|
+
if (!isUnsuitableCwd(cwd, home)) {
|
|
37
|
+
return { cancelled: false, outcome: 'cwd-ok' };
|
|
38
|
+
}
|
|
39
|
+
writer(WARNING_TEXT);
|
|
40
|
+
const result = await delayWithCancel(delayMs);
|
|
41
|
+
if (result.cancelled) {
|
|
42
|
+
return { cancelled: true, outcome: 'cancelled' };
|
|
43
|
+
}
|
|
44
|
+
// Activity-log write happens AFTER a non-cancelled emission so cancelled
|
|
45
|
+
// runs leave no on-disk evidence (NFR-OBS-01 + UC-NUA-002 A2 postcondition).
|
|
46
|
+
try {
|
|
47
|
+
await logActivity('warn', `no-project-signal: ${cwd}`);
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// Activity-log failure must not block deployment — it's observability,
|
|
51
|
+
// not control flow. Swallow and continue.
|
|
52
|
+
}
|
|
53
|
+
return { cancelled: false, outcome: 'warned' };
|
|
54
|
+
}
|
|
55
|
+
function defaultStderrWriter(msg) {
|
|
56
|
+
process.stderr.write(msg + '\n');
|
|
57
|
+
}
|
|
58
|
+
// Wait `ms` milliseconds OR until the user sends SIGINT. Either branch
|
|
59
|
+
// removes the listener so the rest of the process stays responsive.
|
|
60
|
+
function defaultDelayWithCancel(ms) {
|
|
61
|
+
return new Promise((resolve) => {
|
|
62
|
+
const onSigint = () => {
|
|
63
|
+
cleanup();
|
|
64
|
+
resolve({ cancelled: true });
|
|
65
|
+
};
|
|
66
|
+
const timer = setTimeout(() => {
|
|
67
|
+
cleanup();
|
|
68
|
+
resolve({ cancelled: false });
|
|
69
|
+
}, ms);
|
|
70
|
+
const cleanup = () => {
|
|
71
|
+
clearTimeout(timer);
|
|
72
|
+
process.removeListener('SIGINT', onSigint);
|
|
73
|
+
};
|
|
74
|
+
process.on('SIGINT', onSigint);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Lazy-imported activity-log writer so a missing storage adapter at startup
|
|
78
|
+
// (e.g. in tests that don't touch the filesystem) doesn't crash the load.
|
|
79
|
+
async function defaultActivityLogger(operation, summary) {
|
|
80
|
+
const { resolveStorage } = await import('../../storage/index.js');
|
|
81
|
+
const { formatEntry } = await import('../../activity-log/types.js');
|
|
82
|
+
const adapter = await resolveStorage('activity_log');
|
|
83
|
+
const line = formatEntry({
|
|
84
|
+
timestamp: new Date(),
|
|
85
|
+
operation: operation,
|
|
86
|
+
summary,
|
|
87
|
+
});
|
|
88
|
+
const path = 'activity.log';
|
|
89
|
+
if (typeof adapter.append === 'function') {
|
|
90
|
+
const existing = (await adapter.read(path)) ?? '';
|
|
91
|
+
if (existing.length > 0 && !existing.endsWith('\n')) {
|
|
92
|
+
await adapter.append(path, '\n');
|
|
93
|
+
}
|
|
94
|
+
await adapter.append(path, line + '\n');
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const existing = (await adapter.read(path)) ?? '';
|
|
98
|
+
const trailing = existing.length === 0 || existing.endsWith('\n') ? '' : '\n';
|
|
99
|
+
await adapter.write(path, existing + trailing + line + '\n');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=warning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warning.js","sourceRoot":"","sources":["../../../../src/cli/project-isolation/warning.ts"],"names":[],"mappings":"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"}
|
|
@@ -140,7 +140,7 @@ export function registerDiscoveryTools(server) {
|
|
|
140
140
|
// ============================================================
|
|
141
141
|
server.registerTool('rule-list', {
|
|
142
142
|
title: 'List AIWG Rules',
|
|
143
|
-
description: 'Enumerate AIWG enforcement rules (e.g. no-attribution, anti-laziness, citation-policy). Top-
|
|
143
|
+
description: 'Enumerate AIWG enforcement rules (e.g. skill-discovery, no-attribution, anti-laziness, citation-policy). Top-7 CRITICAL/HIGH rules are inlined into Hermes AGENTS.md priming (skill-discovery added #1347); this tool reaches the rest.',
|
|
144
144
|
inputSchema: {
|
|
145
145
|
filter: z.string().optional().describe('Substring filter on rule name'),
|
|
146
146
|
limit: z.number().int().min(1).max(200).default(50),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aiwg",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.5",
|
|
4
4
|
"description": "Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 4 more) so one source of truth works across 10 platforms. Optional utilities for persistent artifact memory, background orchestration, autonomous loops, and artifact indexing.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -100,22 +100,38 @@ const HERMES_AGENTS_MD_HARD_CAP = 19_000;
|
|
|
100
100
|
const HERMES_AGENTS_MD_SOFT_WARN = 15_000;
|
|
101
101
|
|
|
102
102
|
/**
|
|
103
|
-
* Top-
|
|
104
|
-
* priming on every Hermes turn (#1318 / S7).
|
|
103
|
+
* Top-7 CRITICAL rule directives, inlined into AGENTS.md for guaranteed
|
|
104
|
+
* priming on every Hermes turn (#1318 / S7; skill-discovery added #1347).
|
|
105
105
|
*
|
|
106
106
|
* The full rule bodies (29 total) are reachable via the MCP `rule-list`
|
|
107
107
|
* and `rule-show` tools (#1320). The bodies exceed Hermes's 20K context
|
|
108
108
|
* cap if inlined verbatim (anti-laziness alone is 32K chars), so we
|
|
109
109
|
* inline compressed directives only and point to MCP for the full text.
|
|
110
110
|
*
|
|
111
|
-
* Selection criteria: rules tagged CRITICAL enforcement level whose
|
|
111
|
+
* Selection criteria: rules tagged CRITICAL/HIGH enforcement level whose
|
|
112
112
|
* violations are silent or destructive (cost of remembering to query
|
|
113
|
-
* rule-show > cost of inlining the directive).
|
|
113
|
+
* rule-show > cost of inlining the directive). skill-discovery is HIGH
|
|
114
|
+
* but is the linchpin of the discover-first architecture across all
|
|
115
|
+
* providers and is therefore inlined alongside the CRITICAL set.
|
|
114
116
|
*/
|
|
115
117
|
const CRITICAL_RULE_DIRECTIVES = `## CRITICAL Rules (always apply)
|
|
116
118
|
|
|
117
119
|
These are the highest-enforcement AIWG rules. Full bodies via \`mcp_aiwg_rule_show\`.
|
|
118
|
-
Other
|
|
120
|
+
Other 22 rules: \`mcp_aiwg_rule_list\`.
|
|
121
|
+
|
|
122
|
+
### skill-discovery (discover-first protocol)
|
|
123
|
+
Before declining a user request as "outside AIWG's scope" or improvising a
|
|
124
|
+
workflow from training data, you MUST run \`mcp_aiwg_discover\` against
|
|
125
|
+
the user's need. Most AIWG skills (~385 of ~400) are not in your context —
|
|
126
|
+
they reach you only via \`mcp_aiwg_discover\` + \`mcp_aiwg_skill_show\`. Run
|
|
127
|
+
discover whenever the user mentions AIWG, a framework name (sdlc, research,
|
|
128
|
+
forensics, ops, marketing, security-engineering, media-curator,
|
|
129
|
+
knowledge-base), or capability keywords (skill, agent, command, rule,
|
|
130
|
+
workflow). Filesystem search via \`Read\` / \`Glob\` / \`Grep\` against AIWG
|
|
131
|
+
storage paths is FORBIDDEN as a first move — the MCP discover index covers
|
|
132
|
+
10x the surface area with ranked results. After discover returns a match,
|
|
133
|
+
fetch its body with \`mcp_aiwg_skill_show\` (or the type-specific show
|
|
134
|
+
tool), never read the path directly.
|
|
119
135
|
|
|
120
136
|
### no-attribution
|
|
121
137
|
Never add AI-tool attribution to commits, PRs, code, or docs. No \`Co-Authored-By:\`,
|
|
@@ -245,7 +245,52 @@ function transformCommandToSection(commandPath) {
|
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
/**
|
|
248
|
-
*
|
|
248
|
+
* Transform rule markdown file to WARP.md section format.
|
|
249
|
+
* Rule content is inlined verbatim under an H3 heading (the rule name in
|
|
250
|
+
* Title Case), so Warp agents see the full rule body in their context.
|
|
251
|
+
* Per #1346 — closes cross-provider parity gap on the skill-discovery
|
|
252
|
+
* rule and other aiwg-utils rules that Warp's "rules via WARP.md only"
|
|
253
|
+
* convention previously left unwired.
|
|
254
|
+
*/
|
|
255
|
+
function transformRuleToSection(rulePath) {
|
|
256
|
+
const content = fs.readFileSync(rulePath, 'utf8');
|
|
257
|
+
const name = path.basename(rulePath, '.md');
|
|
258
|
+
|
|
259
|
+
// Strip frontmatter if present; the agent doesn't need the YAML.
|
|
260
|
+
const fmMatch = content.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);
|
|
261
|
+
const body = (fmMatch ? fmMatch[1] : content).trim();
|
|
262
|
+
|
|
263
|
+
// Rules typically start with their own H1 (# Rule Name) — we want H3 in
|
|
264
|
+
// WARP.md so the rule slots under "## AIWG Rules". Strip a leading H1
|
|
265
|
+
// and rely on the section heading below; downshift surviving H2/H3.
|
|
266
|
+
const downshifted = body
|
|
267
|
+
.replace(/^# .+\n+/, '') // drop leading H1
|
|
268
|
+
.replace(/^## /gm, '#### ')
|
|
269
|
+
.replace(/^### /gm, '##### ');
|
|
270
|
+
|
|
271
|
+
const title = name.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');
|
|
272
|
+
return `### ${title}\n\n${downshifted}\n`;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Collect aiwg-utils rule file paths for inlining into WARP.md.
|
|
277
|
+
* Focused on cross-provider parity rules: discover-first is the linchpin
|
|
278
|
+
* (#1343, #1346); other aiwg-utils rules are included to match the
|
|
279
|
+
* intent of "rules via WARP.md" stated in tools/agents/providers/warp.mjs.
|
|
280
|
+
* Per the activity-log rule and feedback_parity_no_removal: always-deploy.
|
|
281
|
+
*/
|
|
282
|
+
function collectAiwgRulePaths(aiwgRoot) {
|
|
283
|
+
const utilsRules = path.join(aiwgRoot, 'agentic', 'code', 'addons', 'aiwg-utils', 'rules');
|
|
284
|
+
if (!fs.existsSync(utilsRules)) return [];
|
|
285
|
+
return listMdFiles(utilsRules)
|
|
286
|
+
// RULES-INDEX.md is a navigation aid for filesystem deployments; for
|
|
287
|
+
// Warp's inlined aggregation the full rule bodies are inlined directly,
|
|
288
|
+
// so the index would be duplicate content. Skip it.
|
|
289
|
+
.filter(p => !path.basename(p).startsWith('RULES-INDEX'));
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Generate AIWG content section (aggregate agents, commands, and rules)
|
|
249
294
|
*/
|
|
250
295
|
function generateAIWGContent(aiwgRoot, mode) {
|
|
251
296
|
const timestamp = new Date().toISOString();
|
|
@@ -347,6 +392,33 @@ function generateAIWGContent(aiwgRoot, mode) {
|
|
|
347
392
|
}
|
|
348
393
|
}
|
|
349
394
|
|
|
395
|
+
// Aggregate cross-provider rules into WARP.md (#1346 — Warp parity fix).
|
|
396
|
+
// Warp's only rule-delivery channel is WARP.md (no .warp/rules/ scan),
|
|
397
|
+
// so the aiwg-utils rules — including the load-bearing skill-discovery
|
|
398
|
+
// protocol — must be inlined here to reach Warp agents.
|
|
399
|
+
const rulePaths = collectAiwgRulePaths(aiwgRoot);
|
|
400
|
+
if (rulePaths.length > 0) {
|
|
401
|
+
content += '---\n\n';
|
|
402
|
+
content += '## AIWG Rules\n\n';
|
|
403
|
+
content += 'These rules govern agent behavior across all AIWG-supported providers. Warp delivers them via this aggregated section because Warp does not natively scan `.warp/rules/`. The full source for each rule lives at `$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/<rule-name>.md`.\n\n';
|
|
404
|
+
// Place skill-discovery first — it is the load-bearing rule the parity
|
|
405
|
+
// fix exists to surface (per #1343/#1346). Agents that read top-down
|
|
406
|
+
// hit the discover-first protocol immediately.
|
|
407
|
+
const sorted = [...rulePaths].sort((a, b) => {
|
|
408
|
+
const ax = path.basename(a, '.md');
|
|
409
|
+
const bx = path.basename(b, '.md');
|
|
410
|
+
if (ax === 'skill-discovery') return -1;
|
|
411
|
+
if (bx === 'skill-discovery') return 1;
|
|
412
|
+
return ax.localeCompare(bx);
|
|
413
|
+
});
|
|
414
|
+
for (const rulePath of sorted) {
|
|
415
|
+
const section = transformRuleToSection(rulePath);
|
|
416
|
+
if (section) {
|
|
417
|
+
content += section + '\n';
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
|
|
350
422
|
// Add natural language section
|
|
351
423
|
content += '---\n\n';
|
|
352
424
|
content += '## Natural Language Command Translation\n\n';
|