@mmnto/cli 2.4.0 → 2.6.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/dist/commands/agents-floor-sterility.test.d.ts +25 -0
- package/dist/commands/agents-floor-sterility.test.d.ts.map +1 -0
- package/dist/commands/agents-floor-sterility.test.js +217 -0
- package/dist/commands/agents-floor-sterility.test.js.map +1 -0
- package/dist/commands/config-drift.test.js +5 -3
- package/dist/commands/config-drift.test.js.map +1 -1
- package/dist/commands/eject.d.ts +20 -0
- package/dist/commands/eject.d.ts.map +1 -1
- package/dist/commands/eject.js +131 -0
- package/dist/commands/eject.js.map +1 -1
- package/dist/commands/eject.test.js +280 -2
- package/dist/commands/eject.test.js.map +1 -1
- package/dist/commands/init-templates.d.ts +74 -2
- package/dist/commands/init-templates.d.ts.map +1 -1
- package/dist/commands/init-templates.js +298 -6
- package/dist/commands/init-templates.js.map +1 -1
- package/dist/commands/init.d.ts +36 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +172 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/init.test.js +380 -3
- package/dist/commands/init.test.js.map +1 -1
- package/dist/commands/signoff-table-sync.test.d.ts +2 -0
- package/dist/commands/signoff-table-sync.test.d.ts.map +1 -0
- package/dist/commands/signoff-table-sync.test.js +126 -0
- package/dist/commands/signoff-table-sync.test.js.map +1 -0
- package/package.json +2 -2
|
@@ -2631,18 +2631,18 @@ End-of-session wrap-up. Post-Proposal-282 (ADR-106), journals + handoffs live in
|
|
|
2631
2631
|
|
|
2632
2632
|
**Resolve the path two steps:**
|
|
2633
2633
|
|
|
2634
|
-
a. **Identify your agent-id** from the current repo's basename. The hardcoded map (Proposal 282 § Scope item 3 —
|
|
2634
|
+
a. **Identify your agent-id** from the current repo's basename. The hardcoded map (Proposal 282 § Scope item 3 — the prose twin of \`COHORT_AGENT_MAP\` in \`@mmnto/totem\`, which a test holds it to; the roster of record is the cohort-roles matrix in the strategy doctrine):
|
|
2635
2635
|
|
|
2636
2636
|
| Repo (\`git rev-parse --show-toplevel\` basename) | Claude agent-id | Gemini agent-id | Kimi agent-id |
|
|
2637
2637
|
| ----------------------------------------------- | ----------------------------------- | ----------------- | ----------------- |
|
|
2638
2638
|
| \`totem\` | \`totem-claude\` | \`totem-gemini\` | \`totem-kimi\` |
|
|
2639
|
-
| \`totem-strategy\` | \`strategy-claude\` | \`strategy-gemini\` |
|
|
2640
|
-
| \`liquid-city\` | \`lc-claude\` | \`lc-gemini\` |
|
|
2639
|
+
| \`totem-strategy\` | \`strategy-claude\` | \`strategy-gemini\` | \`strategy-kimi\` |
|
|
2640
|
+
| \`liquid-city\` | \`lc-claude\` | \`lc-gemini\` | \`lc-kimi\` |
|
|
2641
2641
|
| \`arhgap11\` | \`arhgap11-claude\` | \`arhgap11-gemini\` | _(not seated)_ |
|
|
2642
|
-
| \`totem-status\` | \`status-claude\` | \`status-gemini\` |
|
|
2642
|
+
| \`totem-status\` | \`status-claude\` | \`status-gemini\` | \`status-kimi\` |
|
|
2643
2643
|
| \`totem-playground\` | _(orphan stream — no native agent)_ | _(orphan stream)_ | _(orphan stream)_ |
|
|
2644
2644
|
|
|
2645
|
-
Seat discovery is dir-derived (mmnto-ai/totem#2141): any \`.totem/orchestration/<agent-id>/\` directory registers that seat for this repo, UNIONED with the basename map above so roster siblings stay visible on fresh clones where the gitignored tree is partial (precedence: \`TOTEM_SELF_AGENT\` env > \`config.json\` \`host_agents\` > seat dirs ∪ basename map). Override hook: a \`host_agents: string[]\` field in \`.totem/orchestration/config.json\` still **replaces** the derived answer — but omitting a PRESENT seat dir attaches a loud warning naming the omitted seat (the dir is the registration; config-exclusion is not a decommission mechanism). The returned list of agent-ids is used by consumers (e.g., \`totem mail\`) to filter cross-repo handoffs — messages addressed to any agent-id in the list belong to this repo's session.
|
|
2645
|
+
This table is the BOOTSTRAP FALLBACK, not the roster: three of the roster's five vendor columns plus two archived repositories, and it rots when a seat is added — three of its four Kimi cells read "not seated" for weeks after those seats were seated (filled here; mmnto-ai/totem#2865). The core map it twins does not carry the Kimi seats yet (mmnto-ai/totem#2875), so with no \`TOTEM_SELF_AGENT\` declared and no \`config.json\` \`host_agents\` naming it, a Kimi seat resolves only where its seat dir exists. \`totem mail --derive-seat\` is the derivation; no cell here overrides it. Seat discovery is dir-derived (mmnto-ai/totem#2141): any \`.totem/orchestration/<agent-id>/\` directory registers that seat for this repo, UNIONED with the basename map above so roster siblings stay visible on fresh clones where the gitignored tree is partial (precedence: \`TOTEM_SELF_AGENT\` env > \`config.json\` \`host_agents\` > seat dirs ∪ basename map). Override hook: a \`host_agents: string[]\` field in \`.totem/orchestration/config.json\` still **replaces** the derived answer — but omitting a PRESENT seat dir attaches a loud warning naming the omitted seat (the dir is the registration; config-exclusion is not a decommission mechanism). The returned list of agent-ids is used by consumers (e.g., \`totem mail\`) to filter cross-repo handoffs — messages addressed to any agent-id in the list belong to this repo's session.
|
|
2646
2646
|
|
|
2647
2647
|
**Visiting case.** If your row's Claude-agent-id column is \`_(no Claude variant)_\` or \`_(orphan stream — no native agent)_\`, you are visiting a repo that doesn't natively host your agent. Resolve the journal path to \`<repoRoot>/.totem/orchestration/<your-home-agent-id>/journal/\`, where \`<your-home-agent-id>\` is your own agent-id (e.g., a \`strategy-claude\` session always writes as \`strategy-claude\` regardless of which repo it's visiting; concretely, \`strategy-claude\` visiting \`totem-status\` writes to \`totem-status/.totem/orchestration/strategy-claude/journal/\`). The journal records the visiting agent's session state — the host repo doesn't need a native Claude agent to be a valid write target.
|
|
2648
2648
|
|
|
@@ -2771,7 +2771,13 @@ totem review --covariate
|
|
|
2771
2771
|
|
|
2772
2772
|
It resolves the current branch lineage exactly as the review fan does and prints the canonical \`local-lane:\` line from the core-owned renderers — the LATEST verdict artifact's line (\`.totem/artifacts/verdicts/\`) when the current diff is admitted, or the exact-identity admission record's \`not-applicable\` form (\`.totem/artifacts/admissions/\`, format v1.1, mmnto-ai/totem#2473) when the current diff is a deterministic skip — never trust a pasted or hand-copied value. Under format v1.2 (mmnto-ai/totem#2698) every shape carries the appended \`leg: <sha8> blocking=<n> material=<n> folded=<n>\` field (or \`leg: none\`), and a lineage with no artifact of either family but a leg deposit for HEAD prints the \`local-lane: none\` head shape — carry whatever the verb prints, verbatim. If it reports no line at all, there is none to carry (note that in the body and continue).
|
|
2773
2773
|
|
|
2774
|
-
2. **Assemble the single body.** One comment: @-tag EVERY bot addressed in the round — exactly ONE tag each (e.g. \`@gemini-code-assist\`, \`@coderabbitai\`, \`@greptileai\`) so each bot registers the disposition, and tags must be present when the comment is POSTED, never edited in (GCA's listener fires on comment-created only). One notification per bot per round: a bot with nothing addressed gets no tag, and a bot already @-tagged in this round's batch comment (the GCA defer/nit batch above) is NOT re-tagged here. ghcq (\`github-code-quality[bot]\`) has no known listener — it is never tagged; its items are dispositioned in the body for the audit trail only (mmnto-ai/totem#2626). Never combine a tag with ANY bot's review trigger — triggers are standalone comments, one trigger and no prose (a trigger embedded in a content-rich comment chat-routes the bot). Then the per-item dispositions (fixed / deferred / nit / extracted)
|
|
2774
|
+
2. **Assemble the single body.** One comment: @-tag EVERY bot addressed in the round — exactly ONE tag each (e.g. \`@gemini-code-assist\`, \`@coderabbitai\`, \`@greptileai\`) so each bot registers the disposition, each tag on its OWN line (operator-ruled 2026-09-15; the line shape is practice, not a GCA guarantee, and position within the comment is unruled), and tags must be present when the comment is POSTED, never edited in (GCA's listener fires on comment-created only). One notification per bot per round: a bot with nothing addressed gets no tag, and a bot already @-tagged in this round's batch comment (the GCA defer/nit batch above) is NOT re-tagged here. ghcq (\`github-code-quality[bot]\`) has no known listener — it is never tagged; its items are dispositioned in the body for the audit trail only (mmnto-ai/totem#2626). Never combine a tag with ANY bot's review trigger — triggers are standalone comments, one trigger and no prose (a trigger embedded in a content-rich comment chat-routes the bot). Then the per-item dispositions (fixed / deferred / nit / extracted), then ONE machine line per bot-rooted thread this round answered, each on its own line —
|
|
2775
|
+
|
|
2776
|
+
\`\`\`text
|
|
2777
|
+
disposition: <rootCommentId> <fixed|declined|deferred|nit|extracted|held>
|
|
2778
|
+
\`\`\`
|
|
2779
|
+
|
|
2780
|
+
— where \`<rootCommentId>\` is the thread root's REST comment id, the \`id=\` on the row \`totem resolve-threads $ARGUMENTS\` prints in its dry run — run that dry run NOW, before assembling: it is read-only, it lists every thread with its id whether or not this comment exists yet, and it runs again after posting as step 4's evidence check (\`totem triage-pr\` carries the id but does not print it) — and the verb is this round's word for that thread. The merge-ready gate's predicate 4 (mmnto-ai/totem#2861) reads a RESOLVED HIGH/Major inline as dispositioned only when a non-bot PR-level comment created after its root carries the line naming ITS id (or a non-bot reply sits in the thread): a round disposition that omits a thread's line leaves that HIGH applying to the head, a line naming another thread does not discharge it, and a line edited into an older comment does not count — post a new comment for a late line. A finding outside any thread (a review-body item, a summary-table row) has no line: it has no thread to resolve. Then the non-empty \`local-lane:\` line from step 1, verbatim. The local \`review-loop\` holds this line but never posts it, so \`/review-reply\` is the SOLE path that carries it to GitHub.
|
|
2775
2781
|
|
|
2776
2782
|
3. **Post on an explicit go.** Show the assembled body and wait for the operator; on their go, post the ONE comment with \`gh pr comment $ARGUMENTS --body-file -\` (pipe the body via stdin). Never mutate the PR autonomously.
|
|
2777
2783
|
|
|
@@ -2842,6 +2848,292 @@ export const DISTRIBUTED_CLAUDE_SKILLS = [
|
|
|
2842
2848
|
{ name: 'review-reply', content: REVIEW_REPLY_SKILL_CONTENT },
|
|
2843
2849
|
{ name: 'review-loop', content: REVIEW_LOOP_SKILL_CONTENT },
|
|
2844
2850
|
];
|
|
2851
|
+
// ─── The public AGENTS.md floor (mmnto-ai/totem-strategy#619 design v1 § 1) ──
|
|
2852
|
+
// The product-valid instruction set any consumer gets from `totem init`: a
|
|
2853
|
+
// marker-bounded managed span (`AGENTS_FLOOR_BLOCK`) that later inits refresh in
|
|
2854
|
+
// place, inside a file whose every other byte is the repository's own. The span
|
|
2855
|
+
// is written for ANY consumer, so it names no private repository, no deployment,
|
|
2856
|
+
// no operator, no doctrine tag and no agent vendor list — the sterility test in
|
|
2857
|
+
// `agents-floor-sterility.test.ts` holds it to that, and holds this repository's
|
|
2858
|
+
// committed AGENTS.md to carrying the span byte-identically (the "sterile floor
|
|
2859
|
+
// IS the init scaffold" product test the issue names).
|
|
2860
|
+
export const AGENTS_FLOOR_REL = 'AGENTS.md';
|
|
2861
|
+
export const AGENTS_FLOOR_START = '<!-- totem:agents-floor:start -->';
|
|
2862
|
+
export const AGENTS_FLOOR_END = '<!-- totem:agents-floor:end -->';
|
|
2863
|
+
/**
|
|
2864
|
+
* The managed span, start marker through end marker, with NO trailing newline:
|
|
2865
|
+
* a refresh replaces exactly the bytes from the start marker through the end
|
|
2866
|
+
* marker, so everything around the span (the line terminator after it included)
|
|
2867
|
+
* is untouched and a second refresh is a byte no-op.
|
|
2868
|
+
*/
|
|
2869
|
+
export const AGENTS_FLOOR_BLOCK = `${AGENTS_FLOOR_START}
|
|
2870
|
+
<!-- Managed by \`totem init\`: the span between these markers is refreshed in place; everything outside it is yours. -->
|
|
2871
|
+
|
|
2872
|
+
## Session start
|
|
2873
|
+
|
|
2874
|
+
1. Run \`totem status\` for health.
|
|
2875
|
+
2. **Never guess architecture.** Before modifying a core system, run \`totem search <system>\`.
|
|
2876
|
+
3. Before writing code, call \`search_knowledge\` describing what you are changing.
|
|
2877
|
+
4. Do not push speculative fixes: run \`totem lint\` locally and front-load every check before the first push.
|
|
2878
|
+
5. Cold start (no session hook injected orientation): derive it with \`totem orient\`, after \`/signon\`'s seat and assignment-mail steps where that skill is installed.
|
|
2879
|
+
|
|
2880
|
+
## Working rules
|
|
2881
|
+
|
|
2882
|
+
- Before pushing: your formatter, then \`totem lint\` (the enforcement floor), then \`totem review\` where configured (advisory lanes, never a merge gate).
|
|
2883
|
+
- After a PR merges: \`totem lesson extract <pr> --yes\`.
|
|
2884
|
+
- **Never bypass a quality gate without a ticket.** No \`--no-verify\`, \`totem-ignore\`, \`eslint-disable\`, \`@ts-ignore\`, skipped tests, or ignore patterns added to pacify CI; a suppression carries a ticket reference.
|
|
2885
|
+
- After roughly 15 turns of code changes: run \`totem status\`, re-query the knowledge index for the system you are modifying, and state your architectural assumption.
|
|
2886
|
+
- **Controller, not implementer.** Delegate build-and-test cycles to background agents; keep this thread for decisions.
|
|
2887
|
+
|
|
2888
|
+
## Review bots
|
|
2889
|
+
|
|
2890
|
+
If this repository uses review bots: review triggers are the maintainer's to post, never an agent's. Reply to findings through \`/review-reply\`, one dispositions comment per round, and never cite a commit before it is pushed.
|
|
2891
|
+
|
|
2892
|
+
## Installed skills
|
|
2893
|
+
|
|
2894
|
+
Where \`totem init\` installs the \`/signon\`, \`/signoff\`, \`/review-reply\` and \`/review-loop\` skills, every later \`totem init\` refreshes each one's managed span and keeps what you add below its end marker.
|
|
2895
|
+
|
|
2896
|
+
${AGENTS_FLOOR_END}`;
|
|
2897
|
+
/** The line terminator a file uses: CRLF when it carries any, else LF. */
|
|
2898
|
+
export function detectEol(content) {
|
|
2899
|
+
return content.includes('\r\n') ? '\r\n' : '\n';
|
|
2900
|
+
}
|
|
2901
|
+
/** The canonical span rendered in a file's own line terminator. */
|
|
2902
|
+
export function agentsFloorBlockFor(eol) {
|
|
2903
|
+
return eol === '\n' ? AGENTS_FLOOR_BLOCK : AGENTS_FLOOR_BLOCK.replace(/\n/g, '\r\n');
|
|
2904
|
+
}
|
|
2905
|
+
/**
|
|
2906
|
+
* The fence scan: byte ranges of CLOSED fenced code blocks (``` or ~~~ fences,
|
|
2907
|
+
* CommonMark's two shapes, opened at most three SPACES in — a tab-indented
|
|
2908
|
+
* fence line is indented code, not a fence; a closer must use the same
|
|
2909
|
+
* character and be at least as long), `end` exclusive, plus the position of an
|
|
2910
|
+
* opener no closer answered (`null` when the fences balance). A floor marker
|
|
2911
|
+
* quoted inside a closed fence is prose about the marker, never the marker —
|
|
2912
|
+
* the adoption hint tells a maintainer to add the two lines, which is exactly
|
|
2913
|
+
* what invites quoting them. Below an UNCLOSED opener the text is undecidable
|
|
2914
|
+
* by a scan: a quotation the author never closed, or a real span under a stray
|
|
2915
|
+
* fence line — one reading deletes a quotation, the other hides a span (two
|
|
2916
|
+
* legs' mirror findings). Neither tool guesses: markers there are AMBIGUOUS,
|
|
2917
|
+
* never paired, and both tools name the fence so the maintainer can close it.
|
|
2918
|
+
*
|
|
2919
|
+
* Three CommonMark rules the scan honours so a quoted example is read the way
|
|
2920
|
+
* a renderer reads it: a closing fence carries no info string (a ```sh line
|
|
2921
|
+
* never closes an open block — it is text inside it); a multi-line HTML
|
|
2922
|
+
* comment (a line-initial `<!--` whose line carries no `-->`, through the
|
|
2923
|
+
* first line that does) is raw HTML, so a fence-looking line inside it is not
|
|
2924
|
+
* a fence and a floor marker inside it is not a marker; and a `<!--` inside an
|
|
2925
|
+
* open fence is the fence's content. Markers a comment swallows, and markers
|
|
2926
|
+
* below an unclosed fence or comment opener, are ambiguous: excluded from
|
|
2927
|
+
* pairing and named by `agentsFloorAmbiguousFenceLine`, never silently prose.
|
|
2928
|
+
*
|
|
2929
|
+
* Disclosed limit: this is a line scan for two block kinds, not a markdown
|
|
2930
|
+
* parser. A fence-looking line inside any OTHER raw HTML block (a `<div>` …
|
|
2931
|
+
* `</div>` wrapper, say) is still counted here, and an odd number of such
|
|
2932
|
+
* lines shifts the pairing of every fence below them. The wiki tells
|
|
2933
|
+
* maintainers to keep fence-looking lines out of raw HTML in AGENTS.md.
|
|
2934
|
+
*/
|
|
2935
|
+
function scanFences(content) {
|
|
2936
|
+
// One sequential pass over the lines, the way a block parser reads them: a
|
|
2937
|
+
// fence opener owns every line until its closer (a `<!--` inside it is
|
|
2938
|
+
// content), a multi-line comment opener owns every line until the first
|
|
2939
|
+
// `-->` (a fence-looking line inside it is content). Neither pass can be
|
|
2940
|
+
// computed from the other's output, which is why this is not two regexes.
|
|
2941
|
+
const ranges = [];
|
|
2942
|
+
const comments = [];
|
|
2943
|
+
let state = null;
|
|
2944
|
+
let lineStart = 0;
|
|
2945
|
+
while (lineStart <= content.length) {
|
|
2946
|
+
const nl = content.indexOf('\n', lineStart);
|
|
2947
|
+
const lineEnd = nl === -1 ? content.length : nl + 1;
|
|
2948
|
+
const line = content.slice(lineStart, nl === -1 ? content.length : nl).replace(/\r$/, '');
|
|
2949
|
+
if (state === null) {
|
|
2950
|
+
const opener = /^[ ]{0,3}(`{3,}|~{3,})/.exec(line);
|
|
2951
|
+
if (opener !== null) {
|
|
2952
|
+
state = { kind: 'fence', at: lineStart, marker: opener[1] };
|
|
2953
|
+
}
|
|
2954
|
+
else if (/^[ ]{0,3}<!--/.test(line) && !line.includes('-->')) {
|
|
2955
|
+
state = { kind: 'comment', at: lineStart };
|
|
2956
|
+
}
|
|
2957
|
+
}
|
|
2958
|
+
else if (state.kind === 'fence') {
|
|
2959
|
+
const closer = /^[ ]{0,3}(`{3,}|~{3,})[ \t]*$/.exec(line);
|
|
2960
|
+
if (closer !== null &&
|
|
2961
|
+
closer[1][0] === state.marker[0] &&
|
|
2962
|
+
closer[1].length >= state.marker.length) {
|
|
2963
|
+
ranges.push({ start: state.at, end: lineEnd });
|
|
2964
|
+
state = null;
|
|
2965
|
+
}
|
|
2966
|
+
}
|
|
2967
|
+
else if (line.includes('-->')) {
|
|
2968
|
+
comments.push({ start: state.at, end: lineEnd });
|
|
2969
|
+
state = null;
|
|
2970
|
+
}
|
|
2971
|
+
if (nl === -1)
|
|
2972
|
+
break;
|
|
2973
|
+
lineStart = lineEnd;
|
|
2974
|
+
}
|
|
2975
|
+
return {
|
|
2976
|
+
ranges,
|
|
2977
|
+
comments,
|
|
2978
|
+
unclosedAt: state !== null && state.kind === 'fence' ? state.at : null,
|
|
2979
|
+
unclosedCommentAt: state !== null && state.kind === 'comment' ? state.at : null,
|
|
2980
|
+
};
|
|
2981
|
+
}
|
|
2982
|
+
/** The code point of the byte-order mark a UTF-8 editor may leave at byte 0. */
|
|
2983
|
+
const BOM_CODE_POINT = 0xfeff;
|
|
2984
|
+
/**
|
|
2985
|
+
* The whole-line predicate, stated once: `marker` at `at` in `content` is a
|
|
2986
|
+
* whole line when its line carries at most three leading spaces (CommonMark's
|
|
2987
|
+
* HTML-block indent; four make an indented code block, which is prose), the
|
|
2988
|
+
* marker, and trailing blanks before LF, CRLF or the end of the file. A
|
|
2989
|
+
* byte-order mark before a marker on line 1 is tolerated. A file whose lines
|
|
2990
|
+
* end in a bare CR (old-Mac terminators) has no whole lines by this rule and is
|
|
2991
|
+
* therefore never touched — a disclosed limit, not a guess.
|
|
2992
|
+
*/
|
|
2993
|
+
function isWholeLineMarker(content, at, marker) {
|
|
2994
|
+
const lineBegin = content.lastIndexOf('\n', at - 1) + 1;
|
|
2995
|
+
const prefix = content.slice(lineBegin, at);
|
|
2996
|
+
const afterBom = lineBegin === 0 && content.charCodeAt(0) === BOM_CODE_POINT;
|
|
2997
|
+
const lineStart = /^[ ]{0,3}$/.test(afterBom ? prefix.slice(1) : prefix);
|
|
2998
|
+
const lineEnd = /^[ \t]*(?:\r?\n|$)/.test(content.slice(at + marker.length));
|
|
2999
|
+
return lineStart && lineEnd;
|
|
3000
|
+
}
|
|
3001
|
+
/**
|
|
3002
|
+
* Every position of `marker` in `content` that counts as a marker: a whole
|
|
3003
|
+
* line (see `isWholeLineMarker`) that is neither inside a closed fenced code
|
|
3004
|
+
* block nor below an unclosed fence opener (ambiguous, see `scanFences`). The
|
|
3005
|
+
* scaffold writes markers at column 0 as whole lines and the adoption hint
|
|
3006
|
+
* asks for whole lines, so a marker quoted in an inline code span, mentioned
|
|
3007
|
+
* mid-sentence, or sitting in an indented code block is prose and never pairs.
|
|
3008
|
+
*/
|
|
3009
|
+
export function agentsFloorMarkerPositions(content, marker) {
|
|
3010
|
+
const { ranges, comments, unclosedAt, unclosedCommentAt } = scanFences(content);
|
|
3011
|
+
const positions = [];
|
|
3012
|
+
let at = content.indexOf(marker);
|
|
3013
|
+
while (at !== -1) {
|
|
3014
|
+
const fenced = ranges.some((r) => at >= r.start && at < r.end);
|
|
3015
|
+
// A marker inside a multi-line comment block is that block's content (a
|
|
3016
|
+
// renderer never sees it as markup); a marker below an unclosed fence or
|
|
3017
|
+
// comment opener is ambiguous. Both are excluded, and both are named by
|
|
3018
|
+
// `agentsFloorAmbiguousFenceLine` so the exclusion is never silent.
|
|
3019
|
+
const commented = comments.some((c) => at >= c.start && at < c.end) ||
|
|
3020
|
+
(unclosedCommentAt !== null && at > unclosedCommentAt);
|
|
3021
|
+
const ambiguous = unclosedAt !== null && at > unclosedAt;
|
|
3022
|
+
if (isWholeLineMarker(content, at, marker) && !fenced && !commented && !ambiguous) {
|
|
3023
|
+
positions.push(at);
|
|
3024
|
+
}
|
|
3025
|
+
at = content.indexOf(marker, at + marker.length);
|
|
3026
|
+
}
|
|
3027
|
+
return positions;
|
|
3028
|
+
}
|
|
3029
|
+
/**
|
|
3030
|
+
* Where an unclosed fence opener, an unclosed HTML comment opener, or a
|
|
3031
|
+
* closed multi-line HTML comment swallows floor markers: the 1-based line of
|
|
3032
|
+
* the earliest such opener that has at least one whole-line marker (start or
|
|
3033
|
+
* end) inside or below it, else `null`. Both tools name it instead of
|
|
3034
|
+
* guessing — computed on the text they are about to leave on disk, so the line
|
|
3035
|
+
* is right after a refresh or a scrub above it moved it.
|
|
3036
|
+
*/
|
|
3037
|
+
export function agentsFloorAmbiguousFenceLine(content) {
|
|
3038
|
+
const { comments, unclosedAt, unclosedCommentAt } = scanFences(content);
|
|
3039
|
+
const hasMarkerIn = (from, to) => [AGENTS_FLOOR_START, AGENTS_FLOOR_END].some((marker) => {
|
|
3040
|
+
let at = content.indexOf(marker, from);
|
|
3041
|
+
while (at !== -1 && at < to) {
|
|
3042
|
+
if (isWholeLineMarker(content, at, marker))
|
|
3043
|
+
return true;
|
|
3044
|
+
at = content.indexOf(marker, at + marker.length);
|
|
3045
|
+
}
|
|
3046
|
+
return false;
|
|
3047
|
+
});
|
|
3048
|
+
const candidates = [];
|
|
3049
|
+
if (unclosedAt !== null && hasMarkerIn(unclosedAt, content.length))
|
|
3050
|
+
candidates.push(unclosedAt);
|
|
3051
|
+
if (unclosedCommentAt !== null && hasMarkerIn(unclosedCommentAt, content.length)) {
|
|
3052
|
+
candidates.push(unclosedCommentAt);
|
|
3053
|
+
}
|
|
3054
|
+
for (const c of comments) {
|
|
3055
|
+
if (hasMarkerIn(c.start, c.end))
|
|
3056
|
+
candidates.push(c.start);
|
|
3057
|
+
}
|
|
3058
|
+
if (candidates.length === 0)
|
|
3059
|
+
return null;
|
|
3060
|
+
const earliest = Math.min(...candidates);
|
|
3061
|
+
return content.slice(0, earliest).split('\n').length;
|
|
3062
|
+
}
|
|
3063
|
+
/**
|
|
3064
|
+
* The line terminator to render a span in: the one the bytes OUTSIDE the span
|
|
3065
|
+
* use (the span is about to be replaced, so its own endings must not decide
|
|
3066
|
+
* the file's), falling back to the whole file's when nothing outside the span
|
|
3067
|
+
* carries a terminator at all (a file that is nothing but the span keeps its
|
|
3068
|
+
* own endings, so it stays a byte no-op). Disclosed limit: "outside" is the
|
|
3069
|
+
* whole file minus THIS span, so in a file that mixes terminators between two
|
|
3070
|
+
* spans the other span's endings weigh in — a file with two managed spans is
|
|
3071
|
+
* already broken (init names it), and a file mixing CRLF and LF outside the
|
|
3072
|
+
* span is converged toward whichever terminator it carries, not preserved
|
|
3073
|
+
* byte-for-byte.
|
|
3074
|
+
*/
|
|
3075
|
+
export function eolOutsideSpan(content, span) {
|
|
3076
|
+
const outside = content.slice(0, span.start) + content.slice(span.end);
|
|
3077
|
+
return outside.includes('\n') ? detectEol(outside) : detectEol(content);
|
|
3078
|
+
}
|
|
3079
|
+
/**
|
|
3080
|
+
* Locate one complete managed span in `content`, searching from `from`: the
|
|
3081
|
+
* FIRST end marker at or after `from`, paired END-anchored with the LAST start
|
|
3082
|
+
* marker before it and at or after `from` — the reflex scrub's pairing
|
|
3083
|
+
* (mmnto-ai/totem#2602), so an orphan start marker sitting above a complete
|
|
3084
|
+
* span never widens it, the bytes between an orphan and the real span stay the
|
|
3085
|
+
* repository's, and a caller that advances `from` past what it has already
|
|
3086
|
+
* handled can never re-pair an orphan it left behind. Markers inside closed
|
|
3087
|
+
* fenced code blocks are prose and never pair; markers below an unclosed fence
|
|
3088
|
+
* opener are ambiguous and never pair either (the callers name the fence, see
|
|
3089
|
+
* `agentsFloorAmbiguousFenceLine`). `null` when no complete pair exists at or
|
|
3090
|
+
* after `from`. `end` is exclusive and includes the end-marker line's trailing
|
|
3091
|
+
* blanks.
|
|
3092
|
+
*/
|
|
3093
|
+
export function locateAgentsFloorSpan(content, from = 0) {
|
|
3094
|
+
const starts = agentsFloorMarkerPositions(content, AGENTS_FLOOR_START);
|
|
3095
|
+
const ends = agentsFloorMarkerPositions(content, AGENTS_FLOOR_END);
|
|
3096
|
+
for (const endIdx of ends) {
|
|
3097
|
+
if (endIdx < from)
|
|
3098
|
+
continue;
|
|
3099
|
+
// The last start marker before this end marker, and not before `from`.
|
|
3100
|
+
let startIdx = -1;
|
|
3101
|
+
for (const s of starts) {
|
|
3102
|
+
if (s >= from && s < endIdx)
|
|
3103
|
+
startIdx = s;
|
|
3104
|
+
}
|
|
3105
|
+
if (startIdx !== -1) {
|
|
3106
|
+
// The span is whole lines: it starts at the start-marker line's first
|
|
3107
|
+
// column (a tolerated byte-order mark on line 1 stays outside it, and an
|
|
3108
|
+
// indent of up to three spaces is normalized away by a refresh) and ends
|
|
3109
|
+
// after the end-marker line's trailing blanks, so neither survives into
|
|
3110
|
+
// the seam.
|
|
3111
|
+
const lineBegin = content.lastIndexOf('\n', startIdx - 1) + 1;
|
|
3112
|
+
const start = lineBegin === 0 && content.charCodeAt(0) === BOM_CODE_POINT ? 1 : lineBegin;
|
|
3113
|
+
const trailing = /^[ \t]*/.exec(content.slice(endIdx + AGENTS_FLOOR_END.length))[0].length;
|
|
3114
|
+
return { start, end: endIdx + AGENTS_FLOOR_END.length + trailing };
|
|
3115
|
+
}
|
|
3116
|
+
// An orphan end marker: keep scanning — a later complete pair is still a span.
|
|
3117
|
+
}
|
|
3118
|
+
return null;
|
|
3119
|
+
}
|
|
3120
|
+
/**
|
|
3121
|
+
* The whole file `totem init` writes when a repository has no AGENTS.md yet:
|
|
3122
|
+
* a title, the managed span, and a stub for the repository's own rules. Only
|
|
3123
|
+
* the span is managed after this first write.
|
|
3124
|
+
*/
|
|
3125
|
+
export function renderAgentsFloorScaffold(projectName) {
|
|
3126
|
+
return `# ${projectName}: Agent Instructions
|
|
3127
|
+
|
|
3128
|
+
Canonical instructions for AI coding agents working in this repository. Any agent that reads \`AGENTS.md\` starts here.
|
|
3129
|
+
|
|
3130
|
+
${AGENTS_FLOOR_BLOCK}
|
|
3131
|
+
|
|
3132
|
+
## Repository conventions
|
|
3133
|
+
|
|
3134
|
+
Add this repository's own rules here: environment, branching, code style, publishing. Everything outside the markers above is yours; \`totem init\` never rewrites it.
|
|
3135
|
+
`;
|
|
3136
|
+
}
|
|
2845
3137
|
// ─── Config generation ──────────────────────────────────
|
|
2846
3138
|
export async function generateConfig(targets, embeddingTier, cwd) {
|
|
2847
3139
|
const { detectOrchestrator, formatTargets } = await import('./init-detect.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -118,6 +118,42 @@ export declare function scaffoldClaudeSkill(filePath: string, canonicalContent:
|
|
|
118
118
|
forceSuppressed?: boolean;
|
|
119
119
|
err?: string;
|
|
120
120
|
};
|
|
121
|
+
/**
|
|
122
|
+
* The project name the AGENTS.md scaffold's title carries: the package name
|
|
123
|
+
* with any npm scope stripped, else the directory basename, else `Project`.
|
|
124
|
+
* Read-only; a missing or unparseable package.json falls back to the basename.
|
|
125
|
+
* The value lands on a markdown heading line, so whitespace (a newline in a
|
|
126
|
+
* hand-edited name included) collapses to one space and an empty result falls
|
|
127
|
+
* through — a title is never empty and never mints a second heading.
|
|
128
|
+
*/
|
|
129
|
+
export declare function deriveProjectName(cwd: string): string;
|
|
130
|
+
/**
|
|
131
|
+
* Scaffold or refresh the public AGENTS.md floor (mmnto-ai/totem-strategy#619
|
|
132
|
+
* design v1 § 1 — the sterile floor IS the init scaffold).
|
|
133
|
+
*
|
|
134
|
+
* - `created` — no AGENTS.md existed; the whole scaffold (title + managed
|
|
135
|
+
* span + repository stub) was written.
|
|
136
|
+
* - `refreshed` — the file carried a complete span (the first end marker,
|
|
137
|
+
* paired END-anchored with the last start marker before it — an orphan start
|
|
138
|
+
* marker above the span never widens it) and the span differed from
|
|
139
|
+
* canonical, rendered in the file's own line terminator; exactly the bytes
|
|
140
|
+
* from that start marker through that end marker were replaced, everything
|
|
141
|
+
* else untouched.
|
|
142
|
+
* - `unchanged` — a complete span, already canonical (byte no-op).
|
|
143
|
+
* - `preserved` — no complete span: the file is the repository's own (no
|
|
144
|
+
* markers), or carries an unpaired marker that cannot be attributed. Never
|
|
145
|
+
* rewritten. `err` carries the one-line hint the caller may disclose.
|
|
146
|
+
*
|
|
147
|
+
* A second complete span after the first is left as it is and named in `err`
|
|
148
|
+
* beside `refreshed` / `unchanged` — two managed spans is a broken file, and
|
|
149
|
+
* canonicalizing both would hide that.
|
|
150
|
+
*/
|
|
151
|
+
export declare function scaffoldAgentsFloor(cwd: string, projectName: string): {
|
|
152
|
+
action: 'created' | 'refreshed' | 'unchanged' | 'preserved';
|
|
153
|
+
err?: string;
|
|
154
|
+
/** The 1-based line of an unclosed code fence with floor markers below it (ambiguous, untouched). */
|
|
155
|
+
fenceLine?: number;
|
|
156
|
+
};
|
|
121
157
|
export declare function scaffoldMcpConfig(filePath: string, serverEntry: Record<string, unknown>, opts?: {
|
|
122
158
|
/** The project root — the second resolution base for relative script pins
|
|
123
159
|
* (host configs in subdirectories carry root-relative pins; leg D1). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAcA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,SAAS,EAEd,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAwC1B,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAQ7B,eAAO,MAAM,6BAA6B,2BAA2B,CAAC;AAItE,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAsBD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAA0B,EAClC,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAmD1E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG;IACvD,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;IACrF,mGAAmG;IACnG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CA2EA;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAa1E;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAwHpF;AA2CD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAIrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAI3E;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAI5E;AAoHD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5B;IACD,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;IAC5D;;+CAE2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAwDA;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAuBrD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,GAClB;IACD,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAyFA;AA2JD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,IAAI,CAAC,EAAE;IACL;6EACyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA;IACD,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC;oFACgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CA4DA;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,OAAO,wBAAwB,EAAE,SAAS,EAC9C,UAAU,CAAC,EAAE,SAAS,EAAE,EACxB,WAAW,GAAE,OAAsC,GAClD,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CAqE7C;AAID,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9D,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAchE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAmDpF;AAgCD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAK9E;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;8EAG0E;IAC1E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;wEAGoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;oEAEgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;mEAG+D;IAC/D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAg6BhB"}
|