@pedrocivita/tocket 2.3.0 → 2.4.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/README.md +36 -13
- package/dist/commands/config.cmd.js +33 -6
- package/dist/commands/config.cmd.js.map +1 -1
- package/dist/commands/init.cmd.js +19 -7
- package/dist/commands/init.cmd.js.map +1 -1
- package/dist/templates/memory-bank.d.ts +9 -5
- package/dist/templates/memory-bank.js +22 -18
- package/dist/templates/memory-bank.js.map +1 -1
- package/dist/tests/agents.test.d.ts +1 -0
- package/dist/tests/agents.test.js +102 -0
- package/dist/tests/agents.test.js.map +1 -0
- package/dist/tests/config.test.js +39 -0
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/init-templates.test.js +25 -0
- package/dist/tests/init-templates.test.js.map +1 -1
- package/dist/tests/init.test.js +3 -2
- package/dist/tests/init.test.js.map +1 -1
- package/dist/tests/memory-bank.test.js +58 -13
- package/dist/tests/memory-bank.test.js.map +1 -1
- package/dist/utils/agents.d.ts +8 -0
- package/dist/utils/agents.js +29 -0
- package/dist/utils/agents.js.map +1 -0
- package/dist/utils/config.d.ts +4 -0
- package/dist/utils/config.js +1 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/templates.d.ts +4 -0
- package/dist/utils/templates.js +5 -1
- package/dist/utils/templates.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,9 +25,9 @@ your-project/
|
|
|
25
25
|
techContext.md # Stack and build tools
|
|
26
26
|
productContext.md # What the product is and why
|
|
27
27
|
progress.md # What's done, what's next
|
|
28
|
-
TOCKET.md # Protocol rules (
|
|
29
|
-
CLAUDE.md # Executor agent
|
|
30
|
-
GEMINI.md # Architect agent
|
|
28
|
+
TOCKET.md # Protocol rules (agent-agnostic)
|
|
29
|
+
CLAUDE.md # Executor instructions (auto-detected per agent)
|
|
30
|
+
GEMINI.md # Architect instructions (auto-detected per agent)
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
All files are plain markdown, committed to git, and readable by any tool.
|
|
@@ -45,12 +45,15 @@ The CLI automates the scaffolding, provides smart defaults, and adds quality-of-
|
|
|
45
45
|
## Quick Start
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
|
-
# Scaffold a new workspace
|
|
48
|
+
# Scaffold a new workspace
|
|
49
49
|
npx @pedrocivita/tocket init
|
|
50
50
|
|
|
51
51
|
# Or just the essentials (3 files)
|
|
52
52
|
npx @pedrocivita/tocket init --minimal
|
|
53
53
|
|
|
54
|
+
# Configure your agents (optional — defaults to Claude Code + Gemini)
|
|
55
|
+
npx @pedrocivita/tocket config --architect "Gemini" --executor "Claude Code"
|
|
56
|
+
|
|
54
57
|
# Or open the interactive dashboard
|
|
55
58
|
npx @pedrocivita/tocket
|
|
56
59
|
```
|
|
@@ -64,7 +67,7 @@ Tocket writes files to your repo, but you can try it risk-free on a branch:
|
|
|
64
67
|
```bash
|
|
65
68
|
git checkout -b test/tocket-setup
|
|
66
69
|
npx @pedrocivita/tocket init
|
|
67
|
-
git add .context/ TOCKET.md CLAUDE.md GEMINI.md
|
|
70
|
+
git add .context/ TOCKET.md CLAUDE.md GEMINI.md
|
|
68
71
|
git commit -m "chore: scaffold Tocket workspace"
|
|
69
72
|
|
|
70
73
|
# Try it out — run some AI sessions, see if you like it
|
|
@@ -81,7 +84,7 @@ See the [Developer Guide](docs/DEVELOPERS_GUIDE.md) for detailed safe-testing wo
|
|
|
81
84
|
| Command | What it does |
|
|
82
85
|
| --- | --- |
|
|
83
86
|
| `tocket` | Interactive dashboard with guided menu |
|
|
84
|
-
| `tocket init` | Scaffold `.context/`, `TOCKET.md`, and agent configs (auto-detects
|
|
87
|
+
| `tocket init` | Scaffold `.context/`, `TOCKET.md`, and agent configs (auto-detects stack + agents) |
|
|
85
88
|
| `tocket generate` | Build structured payload XML (auto-fills scope from git) |
|
|
86
89
|
| `tocket sync` | Append session summary + git log to `.context/progress.md` |
|
|
87
90
|
| `tocket validate` | Check if the workspace has a valid Memory Bank |
|
|
@@ -89,7 +92,7 @@ See the [Developer Guide](docs/DEVELOPERS_GUIDE.md) for detailed safe-testing wo
|
|
|
89
92
|
| `tocket status` | Quick overview: workspace health, branch, focus, agents |
|
|
90
93
|
| `tocket doctor` | Deep workspace diagnostics (content health, git tracking, staleness) |
|
|
91
94
|
| `tocket lint` | Audit `.context/` content quality and suggest improvements |
|
|
92
|
-
| `tocket config` | Manage global settings (`~/.tocketrc.json`) |
|
|
95
|
+
| `tocket config` | Manage global settings: agent roles, author, priority (`~/.tocketrc.json`) |
|
|
93
96
|
| `tocket eject` | Remove all Tocket files (with confirmation) |
|
|
94
97
|
|
|
95
98
|
### CI-friendly flags
|
|
@@ -153,26 +156,46 @@ The Architect doesn't write code. The Executor doesn't make architecture decisio
|
|
|
153
156
|
| Tool | What it does | How Tocket differs |
|
|
154
157
|
| --- | --- | --- |
|
|
155
158
|
| `.cursorrules` | Single-agent instructions for Cursor | Tocket defines _inter-agent_ protocol, not just single-agent rules |
|
|
156
|
-
| `CLAUDE.md` | Instructions for Claude Code | Tocket generates
|
|
159
|
+
| `CLAUDE.md` | Instructions for Claude Code | Tocket generates agent configs as part of a broader multi-agent system |
|
|
157
160
|
| `AGENTS.md` | Codex agent instructions | Same idea for one agent; Tocket coordinates multiple agents |
|
|
158
161
|
| Prompt templates | Static prompts for LLMs | Tocket's Memory Bank evolves with the project; payloads are structured, not freeform |
|
|
162
|
+
| Vendor-locked tools | Tied to one provider | Tocket works with **any LLM/tool** — configure via `tocket config` |
|
|
159
163
|
|
|
160
164
|
## Configuration
|
|
161
165
|
|
|
162
|
-
|
|
166
|
+
Configure your preferred agents and defaults:
|
|
163
167
|
|
|
164
168
|
```bash
|
|
165
|
-
#
|
|
166
|
-
tocket config
|
|
169
|
+
# Configure your agent roles
|
|
170
|
+
tocket config --architect "Gemini" --executor "Claude Code"
|
|
167
171
|
|
|
168
|
-
#
|
|
172
|
+
# Set payload defaults
|
|
169
173
|
tocket config --author "Your Name" --priority medium --skills "core,lsp"
|
|
170
174
|
|
|
175
|
+
# Or use the interactive setup (sections: Identity, Agent Roles, Payload Defaults)
|
|
176
|
+
tocket config
|
|
177
|
+
|
|
171
178
|
# View current config
|
|
172
179
|
tocket config --show
|
|
173
180
|
```
|
|
174
181
|
|
|
175
|
-
Config is stored at `~/.tocketrc.json
|
|
182
|
+
Config is stored at `~/.tocketrc.json`.
|
|
183
|
+
|
|
184
|
+
### Supported Agents
|
|
185
|
+
|
|
186
|
+
Tocket auto-generates the correct instruction file for each agent:
|
|
187
|
+
|
|
188
|
+
| Agent | Role | Generated File |
|
|
189
|
+
| --- | --- | --- |
|
|
190
|
+
| Claude Code | Executor | `CLAUDE.md` |
|
|
191
|
+
| Cursor | Executor | `.cursorrules` |
|
|
192
|
+
| Windsurf | Executor | `.windsurfrules` |
|
|
193
|
+
| Copilot | Executor | `.github/copilot-instructions.md` |
|
|
194
|
+
| Gemini | Architect | `GEMINI.md` |
|
|
195
|
+
| _(any other)_ | Executor | `EXECUTOR.md` |
|
|
196
|
+
| _(any other)_ | Architect | `ARCHITECT.md` |
|
|
197
|
+
|
|
198
|
+
Don't see your agent? It still works — unknown agents get generic files, and you can override any template via [`~/.tocket/templates/`](docs/DEVELOPERS_GUIDE.md).
|
|
176
199
|
|
|
177
200
|
## Documentation
|
|
178
201
|
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { input, select, confirm } from "@inquirer/prompts";
|
|
2
2
|
import { getConfig, saveConfig, resetConfig, getConfigPath, } from "../utils/config.js";
|
|
3
|
+
import { DEFAULT_ARCHITECT, DEFAULT_EXECUTOR } from "../utils/agents.js";
|
|
3
4
|
import { success, heading, dim } from "../utils/theme.js";
|
|
4
5
|
export function registerConfigCommand(program) {
|
|
5
6
|
program
|
|
6
7
|
.command("config")
|
|
7
8
|
.description("Manage global Tocket configuration (~/.tocketrc.json)")
|
|
8
9
|
.option("--author <name>", "Set default author name")
|
|
9
|
-
.option("--agent <name>", "Set default agent name")
|
|
10
|
+
.option("--agent <name>", "Set default agent name (deprecated, use --architect/--executor)")
|
|
11
|
+
.option("--architect <name>", "Set architect agent (e.g. Gemini, ChatGPT)")
|
|
12
|
+
.option("--executor <name>", "Set executor agent (e.g. \"Claude Code\", Cursor, Windsurf)")
|
|
10
13
|
.option("--priority <level>", "Set default priority (high|medium|low)")
|
|
11
14
|
.option("--skills <list>", "Set default skills (comma-separated)")
|
|
12
15
|
.option("--show", "Display current configuration")
|
|
@@ -42,13 +45,24 @@ export function registerConfigCommand(program) {
|
|
|
42
45
|
return;
|
|
43
46
|
}
|
|
44
47
|
// Non-interactive: handle individual flags
|
|
45
|
-
const hasFlags = options.author || options.agent || options.
|
|
48
|
+
const hasFlags = options.author || options.agent || options.architect ||
|
|
49
|
+
options.executor || options.priority || options.skills;
|
|
46
50
|
if (hasFlags) {
|
|
47
51
|
const config = await getConfig();
|
|
48
52
|
if (options.author)
|
|
49
53
|
config.author = options.author;
|
|
50
54
|
if (options.agent)
|
|
51
55
|
config.defaultAgent = options.agent;
|
|
56
|
+
if (options.architect) {
|
|
57
|
+
if (!config.agents)
|
|
58
|
+
config.agents = {};
|
|
59
|
+
config.agents.architect = options.architect;
|
|
60
|
+
}
|
|
61
|
+
if (options.executor) {
|
|
62
|
+
if (!config.agents)
|
|
63
|
+
config.agents = {};
|
|
64
|
+
config.agents.executor = options.executor;
|
|
65
|
+
}
|
|
52
66
|
if (options.priority) {
|
|
53
67
|
if (!config.defaults)
|
|
54
68
|
config.defaults = {};
|
|
@@ -66,14 +80,24 @@ export function registerConfigCommand(program) {
|
|
|
66
80
|
// Interactive TUI mode
|
|
67
81
|
const current = await getConfig();
|
|
68
82
|
console.log(heading("\n Tocket Configuration\n"));
|
|
83
|
+
// ── Identity ──
|
|
84
|
+
console.log(dim(" ── Identity ──\n"));
|
|
69
85
|
const author = await input({
|
|
70
86
|
message: "Author name:",
|
|
71
87
|
default: current.author || undefined,
|
|
72
88
|
});
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
89
|
+
// ── Agent Roles ──
|
|
90
|
+
console.log(dim("\n ── Agent Roles ──\n"));
|
|
91
|
+
const architect = await input({
|
|
92
|
+
message: "Architect (planner):",
|
|
93
|
+
default: current.agents?.architect || DEFAULT_ARCHITECT,
|
|
76
94
|
});
|
|
95
|
+
const executor = await input({
|
|
96
|
+
message: "Executor (implementer):",
|
|
97
|
+
default: current.agents?.executor || DEFAULT_EXECUTOR,
|
|
98
|
+
});
|
|
99
|
+
// ── Payload Defaults ──
|
|
100
|
+
console.log(dim("\n ── Payload Defaults ──\n"));
|
|
77
101
|
const priority = await select({
|
|
78
102
|
message: "Default priority:",
|
|
79
103
|
choices: [
|
|
@@ -90,7 +114,10 @@ export function registerConfigCommand(program) {
|
|
|
90
114
|
await saveConfig({
|
|
91
115
|
...current,
|
|
92
116
|
author: author || undefined,
|
|
93
|
-
|
|
117
|
+
agents: {
|
|
118
|
+
architect: architect || undefined,
|
|
119
|
+
executor: executor || undefined,
|
|
120
|
+
},
|
|
94
121
|
defaults: {
|
|
95
122
|
priority: priority,
|
|
96
123
|
skills: skills || undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.cmd.js","sourceRoot":"","sources":["../../src/commands/config.cmd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;SACpD,MAAM,CAAC,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"config.cmd.js","sourceRoot":"","sources":["../../src/commands/config.cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { input, confirm } from "@inquirer/prompts";
|
|
2
2
|
import { mkdir, readFile, writeFile, access } from "node:fs/promises";
|
|
3
|
-
import { join } from "node:path";
|
|
3
|
+
import { join, dirname } from "node:path";
|
|
4
4
|
import { banner, heading, info, success, warn, dim } from "../utils/theme.js";
|
|
5
5
|
import { isContextIgnored } from "../utils/git.js";
|
|
6
6
|
import { getConfig } from "../utils/config.js";
|
|
7
7
|
import { readGlobalTemplate } from "../utils/templates.js";
|
|
8
|
-
import {
|
|
8
|
+
import { getExecutorFileName, getArchitectFileName, getExecutorDisplayName, getArchitectDisplayName, } from "../utils/agents.js";
|
|
9
|
+
import { executorMd, architectMd, tocketMd, activeContextMd, systemPatternsMd, productContextMd, techContextMd, progressMd, cursorrulesMd, } from "../templates/memory-bank.js";
|
|
9
10
|
async function fileExists(path) {
|
|
10
11
|
try {
|
|
11
12
|
await access(path);
|
|
@@ -164,13 +165,19 @@ export function registerInitCommand(program) {
|
|
|
164
165
|
});
|
|
165
166
|
const contextDir = join(cwd, ".context");
|
|
166
167
|
await mkdir(contextDir, { recursive: true });
|
|
168
|
+
// Resolve agent names and file conventions
|
|
169
|
+
const executorName = getExecutorDisplayName(globalConfig.agents?.executor);
|
|
170
|
+
const architectName = getArchitectDisplayName(globalConfig.agents?.architect);
|
|
171
|
+
const executorFile = getExecutorFileName(globalConfig.agents?.executor);
|
|
172
|
+
const architectFile = getArchitectFileName(globalConfig.agents?.architect);
|
|
167
173
|
const files = [
|
|
168
|
-
["TOCKET.md", tocketMd(projectName)],
|
|
169
|
-
["
|
|
170
|
-
|
|
171
|
-
|
|
174
|
+
["TOCKET.md", tocketMd(projectName, executorFile, architectFile)],
|
|
175
|
+
[executorFile, executorFile === ".cursorrules"
|
|
176
|
+
? cursorrulesMd(projectName, description, architectFile)
|
|
177
|
+
: executorMd(projectName, description, executorName, architectFile)],
|
|
178
|
+
[architectFile, architectMd(projectName, description, architectName, executorName, executorFile)],
|
|
172
179
|
[join(".context", "activeContext.md"), activeContextMd(projectName)],
|
|
173
|
-
[join(".context", "systemPatterns.md"), systemPatternsMd(projectName)],
|
|
180
|
+
[join(".context", "systemPatterns.md"), systemPatternsMd(projectName, architectName, executorName)],
|
|
174
181
|
[
|
|
175
182
|
join(".context", "productContext.md"),
|
|
176
183
|
productContextMd(projectName, description),
|
|
@@ -193,6 +200,10 @@ export function registerInitCommand(program) {
|
|
|
193
200
|
projectName,
|
|
194
201
|
description,
|
|
195
202
|
date: new Date().toISOString().split("T")[0],
|
|
203
|
+
architectName,
|
|
204
|
+
executorName,
|
|
205
|
+
architectFile,
|
|
206
|
+
executorFile,
|
|
196
207
|
};
|
|
197
208
|
for (const [filePath, builtInContent] of filesToWrite) {
|
|
198
209
|
const fullPath = join(cwd, filePath);
|
|
@@ -207,6 +218,7 @@ export function registerInitCommand(program) {
|
|
|
207
218
|
continue;
|
|
208
219
|
}
|
|
209
220
|
}
|
|
221
|
+
await mkdir(dirname(fullPath), { recursive: true });
|
|
210
222
|
const userContent = await readGlobalTemplate(filePath, templateVars);
|
|
211
223
|
const content = userContent ?? builtInContent;
|
|
212
224
|
await writeFile(fullPath, content, "utf-8");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.cmd.js","sourceRoot":"","sources":["../../src/commands/init.cmd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.cmd.js","sourceRoot":"","sources":["../../src/commands/init.cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,16 @@ export interface StackInfo {
|
|
|
5
5
|
framework: string;
|
|
6
6
|
extras: string[];
|
|
7
7
|
}
|
|
8
|
-
export declare const
|
|
9
|
-
|
|
8
|
+
export declare const executorMd: (projectName: string, description: string, executorName?: string, architectFile?: string) => string;
|
|
9
|
+
/** @deprecated Use executorMd instead */
|
|
10
|
+
export declare const claudeMd: (projectName: string, description: string, executorName?: string, architectFile?: string) => string;
|
|
11
|
+
export declare const architectMd: (projectName: string, description: string, architectName?: string, executorName?: string, executorFile?: string) => string;
|
|
12
|
+
/** @deprecated Use architectMd instead */
|
|
13
|
+
export declare const geminiMd: (projectName: string, description: string, architectName?: string, executorName?: string, executorFile?: string) => string;
|
|
10
14
|
export declare const activeContextMd: (projectName: string) => string;
|
|
11
|
-
export declare const systemPatternsMd: (projectName: string) => string;
|
|
15
|
+
export declare const systemPatternsMd: (projectName: string, architectName?: string, executorName?: string) => string;
|
|
12
16
|
export declare const productContextMd: (projectName: string, description: string) => string;
|
|
13
17
|
export declare const techContextMd: (projectName: string, stack?: StackInfo) => string;
|
|
14
18
|
export declare const progressMd: (projectName: string) => string;
|
|
15
|
-
export declare const cursorrulesMd: (projectName: string, description: string) => string;
|
|
16
|
-
export declare const tocketMd: (projectName: string) => string;
|
|
19
|
+
export declare const cursorrulesMd: (projectName: string, description: string, architectFile?: string) => string;
|
|
20
|
+
export declare const tocketMd: (projectName: string, executorFile?: string, architectFile?: string) => string;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const executorMd = (projectName, description, executorName = "Claude Code", architectFile = "GEMINI.md") => `# ${projectName} — Executor Instructions
|
|
2
2
|
|
|
3
|
-
<!-- LLM_CONTEXT: Executor instructions for
|
|
3
|
+
<!-- LLM_CONTEXT: Executor instructions for ${executorName} -->
|
|
4
4
|
<!-- Generated by Tocket CLI -->
|
|
5
5
|
|
|
6
6
|
## Role
|
|
7
7
|
|
|
8
|
-
You are the **Executor** for **${projectName}**.
|
|
8
|
+
You are the **Executor** (${executorName}) for **${projectName}**.
|
|
9
9
|
${description ? `\n> ${description}\n` : ""}
|
|
10
10
|
Your job is to **implement**, not to plan. Read the Memory Bank before every session, follow the Architect's decisions, and write code.
|
|
11
11
|
|
|
@@ -14,7 +14,7 @@ Your job is to **implement**, not to plan. Read the Memory Bank before every ses
|
|
|
14
14
|
## Rules
|
|
15
15
|
|
|
16
16
|
1. **Always read \`.context/\` first** — Start every session by reading activeContext.md and systemPatterns.md.
|
|
17
|
-
2. **Follow the Architect's plan** — Implementation decisions come from
|
|
17
|
+
2. **Follow the Architect's plan** — Implementation decisions come from \`${architectFile}\` or mission briefs. Do not redesign.
|
|
18
18
|
3. **Ask before deviating** — If the plan is unclear or blocked, ask the user. Do not improvise architecture.
|
|
19
19
|
4. **Write code in English** — Variables, functions, comments, commits — all in \`en-US\`.
|
|
20
20
|
5. **Update Memory Bank on completion** — After finishing a task, update activeContext.md with what changed.
|
|
@@ -27,7 +27,7 @@ Your job is to **implement**, not to plan. Read the Memory Bank before every ses
|
|
|
27
27
|
|------|---------|
|
|
28
28
|
| \`.context/activeContext.md\` | Current focus, recent changes, open decisions |
|
|
29
29
|
| \`.context/systemPatterns.md\` | Architecture patterns, tech stack, conventions |
|
|
30
|
-
| \`
|
|
30
|
+
| \`${architectFile}\` | Architect instructions (read-only for you) |
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
@@ -37,16 +37,18 @@ Your job is to **implement**, not to plan. Read the Memory Bank before every ses
|
|
|
37
37
|
1. Read .context/ → 2. Receive task → 3. Implement → 4. Update .context/
|
|
38
38
|
\`\`\`
|
|
39
39
|
`;
|
|
40
|
-
|
|
40
|
+
/** @deprecated Use executorMd instead */
|
|
41
|
+
export const claudeMd = executorMd;
|
|
42
|
+
export const architectMd = (projectName, description, architectName = "Gemini", executorName = "Claude Code", executorFile = "CLAUDE.md") => `# ${projectName} — Architect Instructions
|
|
41
43
|
|
|
42
|
-
<!-- LLM_CONTEXT: Architect instructions for
|
|
44
|
+
<!-- LLM_CONTEXT: Architect instructions for ${architectName} -->
|
|
43
45
|
<!-- Generated by Tocket CLI -->
|
|
44
46
|
|
|
45
47
|
## Role
|
|
46
48
|
|
|
47
|
-
You are the **Architect** (
|
|
49
|
+
You are the **Architect** (${architectName}) for **${projectName}**.
|
|
48
50
|
${description ? `\n> ${description}\n` : ""}
|
|
49
|
-
Your job is to **analyze, plan, and decide**. You do not write code directly — you produce structured mission briefs that the Executor (
|
|
51
|
+
Your job is to **analyze, plan, and decide**. You do not write code directly — you produce structured mission briefs that the Executor (${executorName}) implements.
|
|
50
52
|
|
|
51
53
|
---
|
|
52
54
|
|
|
@@ -66,7 +68,7 @@ Your job is to **analyze, plan, and decide**. You do not write code directly —
|
|
|
66
68
|
|------|---------|
|
|
67
69
|
| \`.context/activeContext.md\` | Current focus, recent changes, open decisions |
|
|
68
70
|
| \`.context/systemPatterns.md\` | Architecture patterns, tech stack, conventions |
|
|
69
|
-
| \`
|
|
71
|
+
| \`${executorFile}\` | Executor instructions (read-only for you) |
|
|
70
72
|
|
|
71
73
|
---
|
|
72
74
|
|
|
@@ -97,6 +99,8 @@ Your job is to **analyze, plan, and decide**. You do not write code directly —
|
|
|
97
99
|
</payload>
|
|
98
100
|
\`\`\`
|
|
99
101
|
`;
|
|
102
|
+
/** @deprecated Use architectMd instead */
|
|
103
|
+
export const geminiMd = architectMd;
|
|
100
104
|
export const activeContextMd = (projectName) => `# Active Context - ${projectName}
|
|
101
105
|
|
|
102
106
|
<!-- Updated by both Architect and Executor after each session -->
|
|
@@ -115,7 +119,7 @@ _No active tasks yet. Run \`tocket generate\` to create your first mission brief
|
|
|
115
119
|
|
|
116
120
|
_None yet._
|
|
117
121
|
`;
|
|
118
|
-
export const systemPatternsMd = (projectName) => `# System Patterns - ${projectName}
|
|
122
|
+
export const systemPatternsMd = (projectName, architectName = "Gemini", executorName = "Claude Code") => `# System Patterns - ${projectName}
|
|
119
123
|
|
|
120
124
|
<!-- Architectural decisions and conventions. Updated by the Architect. -->
|
|
121
125
|
|
|
@@ -131,7 +135,7 @@ _To be defined._
|
|
|
131
135
|
|
|
132
136
|
- Code language: \`en-US\`
|
|
133
137
|
- Commit language: \`en-US\`
|
|
134
|
-
- Triangulation:
|
|
138
|
+
- Triangulation: ${architectName} (Architect) + ${executorName} (Executor)
|
|
135
139
|
|
|
136
140
|
## Key Decisions
|
|
137
141
|
|
|
@@ -212,20 +216,20 @@ export const progressMd = (projectName) => `# Progress Log - ${projectName}
|
|
|
212
216
|
|
|
213
217
|
- [ ] _Define your first milestone here_
|
|
214
218
|
`;
|
|
215
|
-
export const cursorrulesMd = (projectName, description) => `# .cursorrules - ${projectName}
|
|
219
|
+
export const cursorrulesMd = (projectName, description, architectFile = "ARCHITECT.md") => `# .cursorrules - ${projectName}
|
|
216
220
|
|
|
217
221
|
# Generated by Tocket CLI — compatible with Cursor IDE
|
|
218
222
|
|
|
219
223
|
## Role
|
|
220
224
|
|
|
221
|
-
You are the **Executor** for **${projectName}**.
|
|
225
|
+
You are the **Executor** (Cursor) for **${projectName}**.
|
|
222
226
|
${description ? `\n> ${description}\n` : ""}
|
|
223
227
|
Your job is to **implement**, not to plan. Read the Memory Bank before every session, follow the Architect's decisions, and write code.
|
|
224
228
|
|
|
225
229
|
## Rules
|
|
226
230
|
|
|
227
231
|
1. **Always read \`.context/\` first** — Start every session by reading activeContext.md and systemPatterns.md.
|
|
228
|
-
2. **Follow the Architect's plan** — Implementation decisions come from mission briefs. Do not redesign.
|
|
232
|
+
2. **Follow the Architect's plan** — Implementation decisions come from \`${architectFile}\` or mission briefs. Do not redesign.
|
|
229
233
|
3. **Ask before deviating** — If the plan is unclear or blocked, ask the user. Do not improvise architecture.
|
|
230
234
|
4. **Write code in English** — Variables, functions, comments, commits — all in \`en-US\`.
|
|
231
235
|
5. **Update Memory Bank on completion** — After finishing a task, update activeContext.md with what changed.
|
|
@@ -236,7 +240,7 @@ Your job is to **implement**, not to plan. Read the Memory Bank before every ses
|
|
|
236
240
|
|------|---------|
|
|
237
241
|
| \`.context/activeContext.md\` | Current focus, recent changes, open decisions |
|
|
238
242
|
| \`.context/systemPatterns.md\` | Architecture patterns, tech stack, conventions |
|
|
239
|
-
|
|
|
243
|
+
| \`${architectFile}\` | Architect instructions (read-only for you) |
|
|
240
244
|
|
|
241
245
|
## Workflow
|
|
242
246
|
|
|
@@ -244,7 +248,7 @@ Your job is to **implement**, not to plan. Read the Memory Bank before every ses
|
|
|
244
248
|
1. Read .context/ → 2. Receive task → 3. Implement → 4. Update .context/
|
|
245
249
|
\`\`\`
|
|
246
250
|
`;
|
|
247
|
-
export const tocketMd = (projectName) => `# Tocket Protocol Specification
|
|
251
|
+
export const tocketMd = (projectName, executorFile = "CLAUDE.md", architectFile = "GEMINI.md") => `# Tocket Protocol Specification
|
|
248
252
|
|
|
249
253
|
> How any AI agent should operate in **${projectName}**.
|
|
250
254
|
|
|
@@ -342,7 +346,7 @@ A payload is the structured handoff from Architect to Executor.
|
|
|
342
346
|
|
|
343
347
|
1. Read this file (\`TOCKET.md\`)
|
|
344
348
|
2. Read \`.context/activeContext.md\` for current state
|
|
345
|
-
3. Read your role-specific config (\`
|
|
349
|
+
3. Read your role-specific config (\`${executorFile}\` or \`${architectFile}\`)
|
|
346
350
|
4. Proceed with your task, following the Memory Bank rules above
|
|
347
351
|
`;
|
|
348
352
|
//# sourceMappingURL=memory-bank.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-bank.js","sourceRoot":"","sources":["../../src/templates/memory-bank.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"memory-bank.js","sourceRoot":"","sources":["../../src/templates/memory-bank.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { describe, it } from "node:test";
|
|
2
|
+
import assert from "node:assert/strict";
|
|
3
|
+
import { getExecutorFileName, getArchitectFileName, getExecutorDisplayName, getArchitectDisplayName, DEFAULT_EXECUTOR, DEFAULT_ARCHITECT, EXECUTOR_FILE_MAP, ARCHITECT_FILE_MAP, } from "../utils/agents.js";
|
|
4
|
+
// ─── getExecutorFileName ────────────────────────────────────────────
|
|
5
|
+
describe("getExecutorFileName", () => {
|
|
6
|
+
it("returns CLAUDE.md for 'Claude Code'", () => {
|
|
7
|
+
assert.equal(getExecutorFileName("Claude Code"), "CLAUDE.md");
|
|
8
|
+
});
|
|
9
|
+
it("returns CLAUDE.md for 'Claude'", () => {
|
|
10
|
+
assert.equal(getExecutorFileName("Claude"), "CLAUDE.md");
|
|
11
|
+
});
|
|
12
|
+
it("returns .cursorrules for 'Cursor'", () => {
|
|
13
|
+
assert.equal(getExecutorFileName("Cursor"), ".cursorrules");
|
|
14
|
+
});
|
|
15
|
+
it("returns .windsurfrules for 'Windsurf'", () => {
|
|
16
|
+
assert.equal(getExecutorFileName("Windsurf"), ".windsurfrules");
|
|
17
|
+
});
|
|
18
|
+
it("returns .github/copilot-instructions.md for 'Copilot'", () => {
|
|
19
|
+
assert.equal(getExecutorFileName("Copilot"), ".github/copilot-instructions.md");
|
|
20
|
+
});
|
|
21
|
+
it("is case-insensitive", () => {
|
|
22
|
+
assert.equal(getExecutorFileName("CLAUDE CODE"), "CLAUDE.md");
|
|
23
|
+
assert.equal(getExecutorFileName("cursor"), ".cursorrules");
|
|
24
|
+
assert.equal(getExecutorFileName("WINDSURF"), ".windsurfrules");
|
|
25
|
+
});
|
|
26
|
+
it("returns EXECUTOR.md for unknown agents", () => {
|
|
27
|
+
assert.equal(getExecutorFileName("DeepSeek"), "EXECUTOR.md");
|
|
28
|
+
assert.equal(getExecutorFileName("GPT-4o"), "EXECUTOR.md");
|
|
29
|
+
assert.equal(getExecutorFileName("Cline"), "EXECUTOR.md");
|
|
30
|
+
});
|
|
31
|
+
it("returns CLAUDE.md when undefined", () => {
|
|
32
|
+
assert.equal(getExecutorFileName(undefined), "CLAUDE.md");
|
|
33
|
+
});
|
|
34
|
+
it("returns CLAUDE.md when no argument provided", () => {
|
|
35
|
+
assert.equal(getExecutorFileName(), "CLAUDE.md");
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
// ─── getArchitectFileName ───────────────────────────────────────────
|
|
39
|
+
describe("getArchitectFileName", () => {
|
|
40
|
+
it("returns GEMINI.md for 'Gemini'", () => {
|
|
41
|
+
assert.equal(getArchitectFileName("Gemini"), "GEMINI.md");
|
|
42
|
+
});
|
|
43
|
+
it("is case-insensitive", () => {
|
|
44
|
+
assert.equal(getArchitectFileName("GEMINI"), "GEMINI.md");
|
|
45
|
+
assert.equal(getArchitectFileName("gemini"), "GEMINI.md");
|
|
46
|
+
});
|
|
47
|
+
it("returns ARCHITECT.md for unknown agents", () => {
|
|
48
|
+
assert.equal(getArchitectFileName("ChatGPT"), "ARCHITECT.md");
|
|
49
|
+
assert.equal(getArchitectFileName("Claude"), "ARCHITECT.md");
|
|
50
|
+
assert.equal(getArchitectFileName("o1"), "ARCHITECT.md");
|
|
51
|
+
});
|
|
52
|
+
it("returns GEMINI.md when undefined", () => {
|
|
53
|
+
assert.equal(getArchitectFileName(undefined), "GEMINI.md");
|
|
54
|
+
});
|
|
55
|
+
it("returns GEMINI.md when no argument provided", () => {
|
|
56
|
+
assert.equal(getArchitectFileName(), "GEMINI.md");
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
// ─── getExecutorDisplayName ─────────────────────────────────────────
|
|
60
|
+
describe("getExecutorDisplayName", () => {
|
|
61
|
+
it("returns the given name when provided", () => {
|
|
62
|
+
assert.equal(getExecutorDisplayName("Cursor"), "Cursor");
|
|
63
|
+
});
|
|
64
|
+
it("returns DEFAULT_EXECUTOR when undefined", () => {
|
|
65
|
+
assert.equal(getExecutorDisplayName(undefined), DEFAULT_EXECUTOR);
|
|
66
|
+
});
|
|
67
|
+
it("returns DEFAULT_EXECUTOR when empty string", () => {
|
|
68
|
+
assert.equal(getExecutorDisplayName(""), DEFAULT_EXECUTOR);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
// ─── getArchitectDisplayName ────────────────────────────────────────
|
|
72
|
+
describe("getArchitectDisplayName", () => {
|
|
73
|
+
it("returns the given name when provided", () => {
|
|
74
|
+
assert.equal(getArchitectDisplayName("ChatGPT"), "ChatGPT");
|
|
75
|
+
});
|
|
76
|
+
it("returns DEFAULT_ARCHITECT when undefined", () => {
|
|
77
|
+
assert.equal(getArchitectDisplayName(undefined), DEFAULT_ARCHITECT);
|
|
78
|
+
});
|
|
79
|
+
it("returns DEFAULT_ARCHITECT when empty string", () => {
|
|
80
|
+
assert.equal(getArchitectDisplayName(""), DEFAULT_ARCHITECT);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
// ─── Constants ──────────────────────────────────────────────────────
|
|
84
|
+
describe("agent constants", () => {
|
|
85
|
+
it("DEFAULT_EXECUTOR is Claude Code", () => {
|
|
86
|
+
assert.equal(DEFAULT_EXECUTOR, "Claude Code");
|
|
87
|
+
});
|
|
88
|
+
it("DEFAULT_ARCHITECT is Gemini", () => {
|
|
89
|
+
assert.equal(DEFAULT_ARCHITECT, "Gemini");
|
|
90
|
+
});
|
|
91
|
+
it("EXECUTOR_FILE_MAP has expected entries", () => {
|
|
92
|
+
assert.ok("claude code" in EXECUTOR_FILE_MAP);
|
|
93
|
+
assert.ok("claude" in EXECUTOR_FILE_MAP);
|
|
94
|
+
assert.ok("cursor" in EXECUTOR_FILE_MAP);
|
|
95
|
+
assert.ok("windsurf" in EXECUTOR_FILE_MAP);
|
|
96
|
+
assert.ok("copilot" in EXECUTOR_FILE_MAP);
|
|
97
|
+
});
|
|
98
|
+
it("ARCHITECT_FILE_MAP has expected entries", () => {
|
|
99
|
+
assert.ok("gemini" in ARCHITECT_FILE_MAP);
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=agents.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.test.js","sourceRoot":"","sources":["../../src/tests/agents.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,uEAAuE;AAEvE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,iCAAiC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uEAAuE;AAEvE,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uEAAuE;AAEvE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uEAAuE;AAEvE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uEAAuE;AAEvE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,EAAE,CAAC,aAAa,IAAI,iBAAiB,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;QACzC,MAAM,CAAC,EAAE,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;QACzC,MAAM,CAAC,EAAE,CAAC,UAAU,IAAI,iBAAiB,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CAAC,SAAS,IAAI,iBAAiB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,EAAE,CAAC,QAAQ,IAAI,kBAAkB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -60,6 +60,45 @@ describe("config - read and write", () => {
|
|
|
60
60
|
assert.deepEqual(config, {});
|
|
61
61
|
});
|
|
62
62
|
});
|
|
63
|
+
describe("config - agents field", () => {
|
|
64
|
+
let tempDir;
|
|
65
|
+
let configPath;
|
|
66
|
+
before(() => {
|
|
67
|
+
tempDir = mkdtempSync(join(tmpdir(), "tocket-config-agents-"));
|
|
68
|
+
configPath = join(tempDir, ".tocketrc.json");
|
|
69
|
+
});
|
|
70
|
+
after(() => {
|
|
71
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
72
|
+
});
|
|
73
|
+
it("saveConfig preserves agents field", async () => {
|
|
74
|
+
const data = {
|
|
75
|
+
agents: { architect: "ChatGPT", executor: "Cursor" },
|
|
76
|
+
};
|
|
77
|
+
await saveConfig(data, configPath);
|
|
78
|
+
const config = await getConfig(configPath);
|
|
79
|
+
assert.equal(config.agents?.architect, "ChatGPT");
|
|
80
|
+
assert.equal(config.agents?.executor, "Cursor");
|
|
81
|
+
});
|
|
82
|
+
it("updateConfig merges nested agents", async () => {
|
|
83
|
+
await saveConfig({ agents: { architect: "Gemini", executor: "Claude Code" } }, configPath);
|
|
84
|
+
await updateConfig({ agents: { executor: "Windsurf" } }, configPath);
|
|
85
|
+
const config = await getConfig(configPath);
|
|
86
|
+
assert.equal(config.agents?.architect, "Gemini");
|
|
87
|
+
assert.equal(config.agents?.executor, "Windsurf");
|
|
88
|
+
});
|
|
89
|
+
it("agents coexist with other fields", async () => {
|
|
90
|
+
const data = {
|
|
91
|
+
author: "Pedro",
|
|
92
|
+
agents: { architect: "Gemini", executor: "Claude Code" },
|
|
93
|
+
defaults: { priority: "high" },
|
|
94
|
+
};
|
|
95
|
+
await saveConfig(data, configPath);
|
|
96
|
+
const config = await getConfig(configPath);
|
|
97
|
+
assert.equal(config.author, "Pedro");
|
|
98
|
+
assert.equal(config.agents?.architect, "Gemini");
|
|
99
|
+
assert.equal(config.defaults?.priority, "high");
|
|
100
|
+
});
|
|
101
|
+
});
|
|
63
102
|
describe("config - error handling", () => {
|
|
64
103
|
it("getConfig returns empty object for non-existent path", async () => {
|
|
65
104
|
const config = await getConfig("/nonexistent/path/.tocketrc.json");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/tests/config.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/tests/config.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,10 @@ const vars = {
|
|
|
9
9
|
projectName: "MyProject",
|
|
10
10
|
description: "A test project",
|
|
11
11
|
date: "2026-02-25",
|
|
12
|
+
architectName: "Gemini",
|
|
13
|
+
executorName: "Claude Code",
|
|
14
|
+
architectFile: "GEMINI.md",
|
|
15
|
+
executorFile: "CLAUDE.md",
|
|
12
16
|
};
|
|
13
17
|
// ─── interpolateTemplate ────────────────────────────────────────────
|
|
14
18
|
describe("interpolateTemplate", () => {
|
|
@@ -50,6 +54,27 @@ describe("interpolateTemplate", () => {
|
|
|
50
54
|
const result = interpolateTemplate(raw, vars);
|
|
51
55
|
assert.equal(result, raw);
|
|
52
56
|
});
|
|
57
|
+
it("replaces {{architectName}}", () => {
|
|
58
|
+
const result = interpolateTemplate("Architect: {{architectName}}", vars);
|
|
59
|
+
assert.equal(result, "Architect: Gemini");
|
|
60
|
+
});
|
|
61
|
+
it("replaces {{executorName}}", () => {
|
|
62
|
+
const result = interpolateTemplate("Executor: {{executorName}}", vars);
|
|
63
|
+
assert.equal(result, "Executor: Claude Code");
|
|
64
|
+
});
|
|
65
|
+
it("replaces {{architectFile}}", () => {
|
|
66
|
+
const result = interpolateTemplate("File: {{architectFile}}", vars);
|
|
67
|
+
assert.equal(result, "File: GEMINI.md");
|
|
68
|
+
});
|
|
69
|
+
it("replaces {{executorFile}}", () => {
|
|
70
|
+
const result = interpolateTemplate("File: {{executorFile}}", vars);
|
|
71
|
+
assert.equal(result, "File: CLAUDE.md");
|
|
72
|
+
});
|
|
73
|
+
it("replaces all agent variables in a single string", () => {
|
|
74
|
+
const tpl = "{{architectName}} -> {{architectFile}}, {{executorName}} -> {{executorFile}}";
|
|
75
|
+
const result = interpolateTemplate(tpl, vars);
|
|
76
|
+
assert.equal(result, "Gemini -> GEMINI.md, Claude Code -> CLAUDE.md");
|
|
77
|
+
});
|
|
53
78
|
});
|
|
54
79
|
// ─── getGlobalTemplatesPath ─────────────────────────────────────────
|
|
55
80
|
describe("getGlobalTemplatesPath", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-templates.test.js","sourceRoot":"","sources":["../../src/tests/init-templates.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,IAAI,GAAiB;IACzB,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,gBAAgB;IAC7B,IAAI,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"init-templates.test.js","sourceRoot":"","sources":["../../src/tests/init-templates.test.ts"],"names":[],"mappings":"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"}
|
package/dist/tests/init.test.js
CHANGED
|
@@ -34,7 +34,7 @@ describe("init --name --description (non-interactive)", () => {
|
|
|
34
34
|
});
|
|
35
35
|
it("creates full workspace without interactive prompts", () => {
|
|
36
36
|
execSync(`node "${cliPath}" init --name flagproject --description "Flag desc" --force`, { cwd: tempDir, encoding: "utf-8" });
|
|
37
|
-
// All
|
|
37
|
+
// All 8 files should exist (not minimal, no .cursorrules by default)
|
|
38
38
|
assert.ok(existsSync(join(tempDir, ".context", "activeContext.md")));
|
|
39
39
|
assert.ok(existsSync(join(tempDir, ".context", "systemPatterns.md")));
|
|
40
40
|
assert.ok(existsSync(join(tempDir, ".context", "productContext.md")));
|
|
@@ -43,7 +43,8 @@ describe("init --name --description (non-interactive)", () => {
|
|
|
43
43
|
assert.ok(existsSync(join(tempDir, "TOCKET.md")));
|
|
44
44
|
assert.ok(existsSync(join(tempDir, "CLAUDE.md")));
|
|
45
45
|
assert.ok(existsSync(join(tempDir, "GEMINI.md")));
|
|
46
|
-
|
|
46
|
+
// .cursorrules is only generated when executor is Cursor
|
|
47
|
+
assert.ok(!existsSync(join(tempDir, ".cursorrules")));
|
|
47
48
|
});
|
|
48
49
|
});
|
|
49
50
|
describe("init --minimal file count", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../src/tests/init.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../src/tests/init.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,51 @@
|
|
|
1
1
|
import { describe, it } from "node:test";
|
|
2
2
|
import assert from "node:assert/strict";
|
|
3
|
-
import { claudeMd, geminiMd, tocketMd, activeContextMd, systemPatternsMd, productContextMd, techContextMd, progressMd, cursorrulesMd, } from "../templates/memory-bank.js";
|
|
4
|
-
describe("claudeMd", () => {
|
|
5
|
-
const output =
|
|
3
|
+
import { executorMd, claudeMd, architectMd, geminiMd, tocketMd, activeContextMd, systemPatternsMd, productContextMd, techContextMd, progressMd, cursorrulesMd, } from "../templates/memory-bank.js";
|
|
4
|
+
describe("executorMd (claudeMd)", () => {
|
|
5
|
+
const output = executorMd("TestProject", "A test project");
|
|
6
6
|
it("includes the project name in the title", () => {
|
|
7
|
-
assert.ok(output.includes("
|
|
7
|
+
assert.ok(output.includes("TestProject"));
|
|
8
|
+
assert.ok(output.includes("Executor Instructions"));
|
|
8
9
|
});
|
|
9
10
|
it("includes the description as a blockquote", () => {
|
|
10
11
|
assert.ok(output.includes("> A test project"));
|
|
11
12
|
});
|
|
12
|
-
it("defines the Executor role", () => {
|
|
13
|
-
assert.ok(output.includes("**Executor**"));
|
|
13
|
+
it("defines the Executor role with default agent name", () => {
|
|
14
|
+
assert.ok(output.includes("**Executor** (Claude Code)"));
|
|
14
15
|
});
|
|
15
16
|
it("references the Memory Bank files", () => {
|
|
16
17
|
assert.ok(output.includes(".context/activeContext.md"));
|
|
17
18
|
assert.ok(output.includes(".context/systemPatterns.md"));
|
|
18
19
|
});
|
|
20
|
+
it("references the architect file", () => {
|
|
21
|
+
assert.ok(output.includes("GEMINI.md"));
|
|
22
|
+
});
|
|
19
23
|
it("handles empty description gracefully", () => {
|
|
20
|
-
const noDesc =
|
|
21
|
-
assert.ok(noDesc.includes("
|
|
24
|
+
const noDesc = executorMd("Foo", "");
|
|
25
|
+
assert.ok(noDesc.includes("Foo"));
|
|
22
26
|
assert.ok(!noDesc.includes("> \n"));
|
|
23
27
|
});
|
|
28
|
+
it("accepts custom agent names", () => {
|
|
29
|
+
const custom = executorMd("Proj", "desc", "Cursor", "ARCHITECT.md");
|
|
30
|
+
assert.ok(custom.includes("**Executor** (Cursor)"));
|
|
31
|
+
assert.ok(custom.includes("ARCHITECT.md"));
|
|
32
|
+
});
|
|
33
|
+
it("backward compat: claudeMd alias works", () => {
|
|
34
|
+
const output = claudeMd("Test", "desc");
|
|
35
|
+
assert.ok(output.includes("**Executor**"));
|
|
36
|
+
});
|
|
24
37
|
});
|
|
25
|
-
describe("geminiMd", () => {
|
|
26
|
-
const output =
|
|
38
|
+
describe("architectMd (geminiMd)", () => {
|
|
39
|
+
const output = architectMd("TestProject", "A test project");
|
|
27
40
|
it("includes the project name in the title", () => {
|
|
28
|
-
assert.ok(output.includes("
|
|
41
|
+
assert.ok(output.includes("TestProject"));
|
|
42
|
+
assert.ok(output.includes("Architect Instructions"));
|
|
29
43
|
});
|
|
30
|
-
it("defines the Architect role", () => {
|
|
31
|
-
assert.ok(output.includes("**Architect**"));
|
|
44
|
+
it("defines the Architect role with default agent name", () => {
|
|
45
|
+
assert.ok(output.includes("**Architect** (Gemini)"));
|
|
46
|
+
});
|
|
47
|
+
it("references the executor file", () => {
|
|
48
|
+
assert.ok(output.includes("CLAUDE.md"));
|
|
32
49
|
});
|
|
33
50
|
it("references payload v2.0 format", () => {
|
|
34
51
|
assert.ok(output.includes('<payload version="2.0">'));
|
|
@@ -36,6 +53,16 @@ describe("geminiMd", () => {
|
|
|
36
53
|
it("does not reference the deprecated mission-brief format", () => {
|
|
37
54
|
assert.ok(!output.includes("<mission-brief"));
|
|
38
55
|
});
|
|
56
|
+
it("accepts custom agent names", () => {
|
|
57
|
+
const custom = architectMd("Proj", "desc", "ChatGPT", "Cursor", ".cursorrules");
|
|
58
|
+
assert.ok(custom.includes("**Architect** (ChatGPT)"));
|
|
59
|
+
assert.ok(custom.includes("Executor (Cursor)"));
|
|
60
|
+
assert.ok(custom.includes(".cursorrules"));
|
|
61
|
+
});
|
|
62
|
+
it("backward compat: geminiMd alias works", () => {
|
|
63
|
+
const output = geminiMd("Test", "desc");
|
|
64
|
+
assert.ok(output.includes("**Architect**"));
|
|
65
|
+
});
|
|
39
66
|
});
|
|
40
67
|
describe("tocketMd", () => {
|
|
41
68
|
const output = tocketMd("TestProject");
|
|
@@ -62,6 +89,15 @@ describe("tocketMd", () => {
|
|
|
62
89
|
it("includes a payload example with v2.0", () => {
|
|
63
90
|
assert.ok(output.includes('<payload version="2.0">'));
|
|
64
91
|
});
|
|
92
|
+
it("references default executor and architect files in Quick Start", () => {
|
|
93
|
+
assert.ok(output.includes("CLAUDE.md"));
|
|
94
|
+
assert.ok(output.includes("GEMINI.md"));
|
|
95
|
+
});
|
|
96
|
+
it("accepts custom file names in Quick Start", () => {
|
|
97
|
+
const custom = tocketMd("Proj", ".cursorrules", "ARCHITECT.md");
|
|
98
|
+
assert.ok(custom.includes(".cursorrules"));
|
|
99
|
+
assert.ok(custom.includes("ARCHITECT.md"));
|
|
100
|
+
});
|
|
65
101
|
});
|
|
66
102
|
describe("activeContextMd", () => {
|
|
67
103
|
const output = activeContextMd("TestProject");
|
|
@@ -87,6 +123,15 @@ describe("systemPatternsMd", () => {
|
|
|
87
123
|
assert.ok(output.includes("## Conventions"));
|
|
88
124
|
assert.ok(output.includes("## Key Decisions"));
|
|
89
125
|
});
|
|
126
|
+
it("includes default agent names in conventions", () => {
|
|
127
|
+
assert.ok(output.includes("Gemini (Architect)"));
|
|
128
|
+
assert.ok(output.includes("Claude Code (Executor)"));
|
|
129
|
+
});
|
|
130
|
+
it("accepts custom agent names", () => {
|
|
131
|
+
const custom = systemPatternsMd("Proj", "ChatGPT", "Cursor");
|
|
132
|
+
assert.ok(custom.includes("ChatGPT (Architect)"));
|
|
133
|
+
assert.ok(custom.includes("Cursor (Executor)"));
|
|
134
|
+
});
|
|
90
135
|
});
|
|
91
136
|
describe("productContextMd", () => {
|
|
92
137
|
it("includes the project name and description", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-bank.test.js","sourceRoot":"","sources":["../../src/tests/memory-bank.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-bank.test.js","sourceRoot":"","sources":["../../src/tests/memory-bank.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const DEFAULT_EXECUTOR = "Claude Code";
|
|
2
|
+
export declare const DEFAULT_ARCHITECT = "Gemini";
|
|
3
|
+
export declare const EXECUTOR_FILE_MAP: Record<string, string>;
|
|
4
|
+
export declare const ARCHITECT_FILE_MAP: Record<string, string>;
|
|
5
|
+
export declare function getExecutorFileName(agentName?: string): string;
|
|
6
|
+
export declare function getArchitectFileName(agentName?: string): string;
|
|
7
|
+
export declare function getExecutorDisplayName(agentName?: string): string;
|
|
8
|
+
export declare function getArchitectDisplayName(agentName?: string): string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const DEFAULT_EXECUTOR = "Claude Code";
|
|
2
|
+
export const DEFAULT_ARCHITECT = "Gemini";
|
|
3
|
+
export const EXECUTOR_FILE_MAP = {
|
|
4
|
+
"claude code": "CLAUDE.md",
|
|
5
|
+
"claude": "CLAUDE.md",
|
|
6
|
+
"cursor": ".cursorrules",
|
|
7
|
+
"windsurf": ".windsurfrules",
|
|
8
|
+
"copilot": ".github/copilot-instructions.md",
|
|
9
|
+
};
|
|
10
|
+
export const ARCHITECT_FILE_MAP = {
|
|
11
|
+
"gemini": "GEMINI.md",
|
|
12
|
+
};
|
|
13
|
+
export function getExecutorFileName(agentName) {
|
|
14
|
+
if (!agentName)
|
|
15
|
+
return EXECUTOR_FILE_MAP["claude code"];
|
|
16
|
+
return EXECUTOR_FILE_MAP[agentName.toLowerCase()] ?? "EXECUTOR.md";
|
|
17
|
+
}
|
|
18
|
+
export function getArchitectFileName(agentName) {
|
|
19
|
+
if (!agentName)
|
|
20
|
+
return ARCHITECT_FILE_MAP["gemini"];
|
|
21
|
+
return ARCHITECT_FILE_MAP[agentName.toLowerCase()] ?? "ARCHITECT.md";
|
|
22
|
+
}
|
|
23
|
+
export function getExecutorDisplayName(agentName) {
|
|
24
|
+
return agentName || DEFAULT_EXECUTOR;
|
|
25
|
+
}
|
|
26
|
+
export function getArchitectDisplayName(agentName) {
|
|
27
|
+
return agentName || DEFAULT_ARCHITECT;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/utils/agents.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,aAAa,EAAE,WAAW;IAC1B,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,iCAAiC;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,QAAQ,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,SAAkB;IACpD,IAAI,CAAC,SAAS;QAAE,OAAO,iBAAiB,CAAC,aAAa,CAAE,CAAC;IACzD,OAAO,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,aAAa,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAkB;IACrD,IAAI,CAAC,SAAS;QAAE,OAAO,kBAAkB,CAAC,QAAQ,CAAE,CAAC;IACrD,OAAO,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,cAAc,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAkB;IACvD,OAAO,SAAS,IAAI,gBAAgB,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAAkB;IACxD,OAAO,SAAS,IAAI,iBAAiB,CAAC;AACxC,CAAC"}
|
package/dist/utils/config.d.ts
CHANGED
package/dist/utils/config.js
CHANGED
|
@@ -23,6 +23,7 @@ export async function updateConfig(partial, configPath) {
|
|
|
23
23
|
const merged = {
|
|
24
24
|
...current,
|
|
25
25
|
...partial,
|
|
26
|
+
agents: { ...current.agents, ...partial.agents },
|
|
26
27
|
defaults: { ...current.defaults, ...partial.defaults },
|
|
27
28
|
theme: { ...current.theme, ...partial.theme },
|
|
28
29
|
};
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAkBvD,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAoB,EACpB,UAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC;IAC3C,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA8B,EAC9B,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAiB;QAC3B,GAAG,OAAO;QACV,GAAG,OAAO;QACV,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAChD,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE;QACtD,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;KAC9C,CAAC;IACF,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAmB;IACnD,MAAM,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -2,6 +2,10 @@ export interface TemplateVars {
|
|
|
2
2
|
projectName: string;
|
|
3
3
|
description: string;
|
|
4
4
|
date: string;
|
|
5
|
+
architectName: string;
|
|
6
|
+
executorName: string;
|
|
7
|
+
architectFile: string;
|
|
8
|
+
executorFile: string;
|
|
5
9
|
}
|
|
6
10
|
export declare function getGlobalTemplatesPath(baseDir?: string): string;
|
|
7
11
|
export declare function interpolateTemplate(content: string, vars: TemplateVars): string;
|
package/dist/utils/templates.js
CHANGED
|
@@ -8,7 +8,11 @@ export function interpolateTemplate(content, vars) {
|
|
|
8
8
|
return content
|
|
9
9
|
.replaceAll("{{projectName}}", vars.projectName)
|
|
10
10
|
.replaceAll("{{description}}", vars.description)
|
|
11
|
-
.replaceAll("{{date}}", vars.date)
|
|
11
|
+
.replaceAll("{{date}}", vars.date)
|
|
12
|
+
.replaceAll("{{architectName}}", vars.architectName)
|
|
13
|
+
.replaceAll("{{executorName}}", vars.executorName)
|
|
14
|
+
.replaceAll("{{architectFile}}", vars.architectFile)
|
|
15
|
+
.replaceAll("{{executorFile}}", vars.executorFile);
|
|
12
16
|
}
|
|
13
17
|
export async function readGlobalTemplate(filePath, vars, templatesDir) {
|
|
14
18
|
const dir = templatesDir ?? getGlobalTemplatesPath();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAY5C,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAkB;IAElB,OAAO,OAAO;SACX,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC;SAC/C,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC;SAC/C,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;SACjC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC;SACnD,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC;SACjD,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC;SACnD,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,IAAkB,EAClB,YAAqB;IAErB,MAAM,GAAG,GAAG,YAAY,IAAI,sBAAsB,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|