@doriandev/devcc 0.2.0 → 0.3.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 +39 -9
- package/bin/devcc.mjs +2 -2
- package/dist/devcc/agents/agents.d.ts +7 -0
- package/dist/devcc/agents/agents.d.ts.map +1 -1
- package/dist/devcc/agents/agents.js +3 -0
- package/dist/devcc/agents/agents.js.map +1 -1
- package/dist/devcc/app/App.d.ts +8 -0
- package/dist/devcc/app/App.d.ts.map +1 -1
- package/dist/devcc/app/App.js +125 -2
- package/dist/devcc/app/App.js.map +1 -1
- package/dist/devcc/app/controlPlaneCommands.d.ts.map +1 -1
- package/dist/devcc/app/controlPlaneCommands.js +25 -0
- package/dist/devcc/app/controlPlaneCommands.js.map +1 -1
- package/dist/devcc/app/keymap.d.ts.map +1 -1
- package/dist/devcc/app/keymap.js +1 -0
- package/dist/devcc/app/keymap.js.map +1 -1
- package/dist/devcc/automation.d.ts +21 -0
- package/dist/devcc/automation.d.ts.map +1 -1
- package/dist/devcc/automation.js +138 -1
- package/dist/devcc/automation.js.map +1 -1
- package/dist/devcc/cli.d.ts.map +1 -1
- package/dist/devcc/cli.js +30 -3
- package/dist/devcc/cli.js.map +1 -1
- package/dist/devcc/core/commands.d.ts +8 -0
- package/dist/devcc/core/commands.d.ts.map +1 -1
- package/dist/devcc/core/commands.js.map +1 -1
- package/dist/devcc/core/config.d.ts +2 -0
- package/dist/devcc/core/config.d.ts.map +1 -1
- package/dist/devcc/core/config.js +4 -0
- package/dist/devcc/core/config.js.map +1 -1
- package/dist/devcc/index.d.ts +4 -2
- package/dist/devcc/index.d.ts.map +1 -1
- package/dist/devcc/index.js +4 -2
- package/dist/devcc/index.js.map +1 -1
- package/dist/devcc/init/detect.d.ts +55 -0
- package/dist/devcc/init/detect.d.ts.map +1 -0
- package/dist/devcc/init/detect.js +207 -0
- package/dist/devcc/init/detect.js.map +1 -0
- package/dist/devcc/init/prompt.d.ts +25 -0
- package/dist/devcc/init/prompt.d.ts.map +1 -0
- package/dist/devcc/init/prompt.js +156 -0
- package/dist/devcc/init/prompt.js.map +1 -0
- package/dist/devcc/services/node.d.ts +11 -0
- package/dist/devcc/services/node.d.ts.map +1 -1
- package/dist/devcc/services/node.js +20 -18
- package/dist/devcc/services/node.js.map +1 -1
- package/dist/devcc/views/OverviewView.d.ts.map +1 -1
- package/dist/devcc/views/OverviewView.js +3 -1
- package/dist/devcc/views/OverviewView.js.map +1 -1
- package/package.json +1 -1
- package/src/devcc/agents/agents.ts +10 -0
- package/src/devcc/app/App.ts +153 -2
- package/src/devcc/app/controlPlaneCommands.ts +30 -0
- package/src/devcc/app/keymap.ts +1 -0
- package/src/devcc/automation.ts +168 -1
- package/src/devcc/cli.ts +35 -3
- package/src/devcc/core/commands.ts +8 -0
- package/src/devcc/core/config.ts +4 -0
- package/src/devcc/index.ts +10 -1
- package/src/devcc/init/detect.ts +268 -0
- package/src/devcc/init/prompt.ts +179 -0
- package/src/devcc/services/node.ts +17 -14
- package/src/devcc/views/OverviewView.ts +8 -1
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { basename, join } from "node:path";
|
|
3
|
+
import { findConfigFile } from "../core/config.js";
|
|
4
|
+
import { detectFrameworks } from "../services/node.js";
|
|
5
|
+
import { detectPackageManager, readPackageJson, readScripts, runScriptArgs, } from "../utils/packageManager.js";
|
|
6
|
+
const DEV_SCRIPTS = ["dev", "start:dev", "develop", "serve"];
|
|
7
|
+
/** Verify categories in run order; the first matching script name in each wins. */
|
|
8
|
+
const VERIFY_CATEGORIES = [
|
|
9
|
+
["format:check", "format-check", "fmt:check", "prettier:check", "check:format", "lint:format"],
|
|
10
|
+
["lint"],
|
|
11
|
+
["typecheck", "type-check", "check-types", "types:check", "tsc"],
|
|
12
|
+
["test:ci", "test:run", "test:unit", "test"],
|
|
13
|
+
["build"],
|
|
14
|
+
];
|
|
15
|
+
/** Aggregate scripts used only when no individual checks exist. */
|
|
16
|
+
const AGGREGATE_SCRIPTS = ["verify", "ci", "check", "validate"];
|
|
17
|
+
const NOTABLE_FILES = [
|
|
18
|
+
"compose.yaml",
|
|
19
|
+
"compose.yml",
|
|
20
|
+
"docker-compose.yml",
|
|
21
|
+
"docker-compose.yaml",
|
|
22
|
+
".envrc",
|
|
23
|
+
"mise.toml",
|
|
24
|
+
".mise.toml",
|
|
25
|
+
".tool-versions",
|
|
26
|
+
".env.example",
|
|
27
|
+
"Makefile",
|
|
28
|
+
"turbo.json",
|
|
29
|
+
"nx.json",
|
|
30
|
+
"pnpm-workspace.yaml",
|
|
31
|
+
"Cargo.toml",
|
|
32
|
+
"go.mod",
|
|
33
|
+
"pyproject.toml",
|
|
34
|
+
"AGENTS.md",
|
|
35
|
+
"CLAUDE.md",
|
|
36
|
+
];
|
|
37
|
+
/** Why a script cannot be a verify step, or null when it can. */
|
|
38
|
+
export function unsuitableForVerify(command) {
|
|
39
|
+
if (/--watch\b|\bwatch\b/u.test(command))
|
|
40
|
+
return "runs in watch mode";
|
|
41
|
+
if (/no test specified/u.test(command))
|
|
42
|
+
return "is npm's placeholder";
|
|
43
|
+
if (/--fix\b|--write\b/u.test(command))
|
|
44
|
+
return "modifies files";
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
export function detectProject(rootDir, exists = existsSync) {
|
|
48
|
+
const packageJson = readPackageJson(rootDir);
|
|
49
|
+
const scripts = readScripts(packageJson);
|
|
50
|
+
const byName = new Map(scripts.map((script) => [script.name, script.command]));
|
|
51
|
+
const verifyScripts = [];
|
|
52
|
+
const skippedScripts = [];
|
|
53
|
+
for (const category of VERIFY_CATEGORIES) {
|
|
54
|
+
for (const name of category) {
|
|
55
|
+
const command = byName.get(name);
|
|
56
|
+
if (command === undefined)
|
|
57
|
+
continue;
|
|
58
|
+
const reason = unsuitableForVerify(command);
|
|
59
|
+
if (reason) {
|
|
60
|
+
skippedScripts.push({ name, reason });
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
verifyScripts.push(name);
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (verifyScripts.length === 0) {
|
|
68
|
+
const aggregate = AGGREGATE_SCRIPTS.find((name) => {
|
|
69
|
+
const command = byName.get(name);
|
|
70
|
+
return command !== undefined && unsuitableForVerify(command) === null;
|
|
71
|
+
});
|
|
72
|
+
if (aggregate)
|
|
73
|
+
verifyScripts.push(aggregate);
|
|
74
|
+
}
|
|
75
|
+
const files = NOTABLE_FILES.filter((file) => exists(join(rootDir, file)));
|
|
76
|
+
const languages = [];
|
|
77
|
+
if (packageJson)
|
|
78
|
+
languages.push("node");
|
|
79
|
+
if (files.includes("Cargo.toml"))
|
|
80
|
+
languages.push("rust");
|
|
81
|
+
if (files.includes("go.mod"))
|
|
82
|
+
languages.push("go");
|
|
83
|
+
if (files.includes("pyproject.toml"))
|
|
84
|
+
languages.push("python");
|
|
85
|
+
const monorepo = files.includes("pnpm-workspace.yaml")
|
|
86
|
+
? "pnpm workspaces"
|
|
87
|
+
: files.includes("turbo.json")
|
|
88
|
+
? "Turborepo"
|
|
89
|
+
: files.includes("nx.json")
|
|
90
|
+
? "Nx"
|
|
91
|
+
: packageJson?.workspaces
|
|
92
|
+
? "package.json workspaces"
|
|
93
|
+
: null;
|
|
94
|
+
return {
|
|
95
|
+
rootDir,
|
|
96
|
+
name: typeof packageJson?.name === "string" ? packageJson.name : basename(rootDir),
|
|
97
|
+
configPath: findConfigFile(rootDir, exists),
|
|
98
|
+
hasGit: exists(join(rootDir, ".git")),
|
|
99
|
+
packageManager: packageJson ? detectPackageManager({ rootDir, packageJson, fileExists: exists }) : null,
|
|
100
|
+
scripts,
|
|
101
|
+
frameworks: detectFrameworks(packageJson).map((hint) => ({
|
|
102
|
+
name: hint.name,
|
|
103
|
+
dependency: hint.dependency,
|
|
104
|
+
port: hint.port,
|
|
105
|
+
})),
|
|
106
|
+
devScript: DEV_SCRIPTS.find((name) => byName.has(name)),
|
|
107
|
+
verifyScripts,
|
|
108
|
+
skippedScripts,
|
|
109
|
+
monorepo,
|
|
110
|
+
languages,
|
|
111
|
+
files,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/** Inline verify steps for non-Node projects, using each toolchain's standard commands. */
|
|
115
|
+
function toolchainVerify(facts) {
|
|
116
|
+
if (facts.verifyScripts.length > 0)
|
|
117
|
+
return facts.verifyScripts;
|
|
118
|
+
if (facts.languages.includes("rust")) {
|
|
119
|
+
return [
|
|
120
|
+
{ id: "fmt", name: "cargo fmt", command: "cargo", args: ["fmt", "--check"] },
|
|
121
|
+
{ id: "clippy", name: "cargo clippy", command: "cargo", args: ["clippy", "--all-targets"] },
|
|
122
|
+
{ id: "test", name: "cargo test", command: "cargo", args: ["test"] },
|
|
123
|
+
];
|
|
124
|
+
}
|
|
125
|
+
if (facts.languages.includes("go")) {
|
|
126
|
+
return [
|
|
127
|
+
{ id: "vet", name: "go vet", command: "go", args: ["vet", "./..."] },
|
|
128
|
+
{ id: "test", name: "go test", command: "go", args: ["test", "./..."] },
|
|
129
|
+
{ id: "build", name: "go build", command: "go", args: ["build", "./..."] },
|
|
130
|
+
];
|
|
131
|
+
}
|
|
132
|
+
return [];
|
|
133
|
+
}
|
|
134
|
+
export function starterConfig(facts) {
|
|
135
|
+
const processes = [];
|
|
136
|
+
const manager = facts.packageManager?.manager;
|
|
137
|
+
if (manager && facts.devScript) {
|
|
138
|
+
const framework = facts.frameworks[0];
|
|
139
|
+
processes.push({
|
|
140
|
+
id: "dev",
|
|
141
|
+
name: framework?.name ?? `${manager} ${facts.devScript}`,
|
|
142
|
+
command: manager,
|
|
143
|
+
args: runScriptArgs(manager, facts.devScript),
|
|
144
|
+
...(framework ? { url: `localhost:${framework.port}`, readiness: { port: framework.port } } : {}),
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
return { processes, verify: toolchainVerify(facts) };
|
|
148
|
+
}
|
|
149
|
+
/** Render the starter as a `.devcc.ts` file. Plain object: no dependency on devcc is required. */
|
|
150
|
+
export function renderStarterConfig(facts, date = new Date()) {
|
|
151
|
+
const starter = starterConfig(facts);
|
|
152
|
+
const lines = [
|
|
153
|
+
`/**`,
|
|
154
|
+
` * devcc configuration for ${facts.name}, generated by \`devcc init\` on ${date.toISOString().slice(0, 10)}.`,
|
|
155
|
+
` *`,
|
|
156
|
+
` * Everything here is optional. Check it with \`devcc config check\`; refine it with`,
|
|
157
|
+
` * \`devcc init --agent claude\` (or codex). Reference: https://www.npmjs.com/package/@doriandev/devcc`,
|
|
158
|
+
` */`,
|
|
159
|
+
`export default {`,
|
|
160
|
+
];
|
|
161
|
+
if (starter.processes.length > 0) {
|
|
162
|
+
lines.push(` processes: ${literal(starter.processes, 2)},`, ``);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
lines.push(` // processes: [{ id: "web", command: "pnpm", args: ["dev"], readiness: { port: 3000 } }],`, ``);
|
|
166
|
+
}
|
|
167
|
+
if (starter.verify.length > 0) {
|
|
168
|
+
lines.push(` // \`devcc verify\` runs these in order and exits 0 only if all pass.`);
|
|
169
|
+
lines.push(` verify: ${literal(starter.verify, 2)},`, ``);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
lines.push(` // verify: ["lint", "test"],`, ``);
|
|
173
|
+
}
|
|
174
|
+
lines.push(` // editor: { command: "code" },`, ` // agents: { claude: { args: ["--permission-mode", "acceptEdits"] } },`, `}`, ``);
|
|
175
|
+
return lines.join("\n");
|
|
176
|
+
}
|
|
177
|
+
/** A TypeScript object literal: identifier keys unquoted, values JSON-encoded. */
|
|
178
|
+
export function literal(value, indent = 0) {
|
|
179
|
+
const pad = " ".repeat(indent);
|
|
180
|
+
const inner = " ".repeat(indent + 2);
|
|
181
|
+
if (Array.isArray(value)) {
|
|
182
|
+
if (value.every((item) => typeof item !== "object" || item === null)) {
|
|
183
|
+
return `[${value.map((item) => literal(item)).join(", ")}]`;
|
|
184
|
+
}
|
|
185
|
+
return `[\n${value.map((item) => `${inner}${literal(item, indent + 2)},`).join("\n")}\n${pad}]`;
|
|
186
|
+
}
|
|
187
|
+
if (typeof value === "object" && value !== null) {
|
|
188
|
+
const entries = Object.entries(value).filter(([, entry]) => entry !== undefined);
|
|
189
|
+
const rendered = entries.map(([key, entry]) => `${/^[A-Za-z_$][\w$]*$/u.test(key) ? key : JSON.stringify(key)}: ${literal(entry, indent + 2)}`);
|
|
190
|
+
const oneLine = `{ ${rendered.join(", ")} }`;
|
|
191
|
+
if (oneLine.length + indent <= 100 && !oneLine.includes("\n"))
|
|
192
|
+
return oneLine;
|
|
193
|
+
return `{\n${rendered.map((entry) => `${inner}${entry},`).join("\n")}\n${pad}}`;
|
|
194
|
+
}
|
|
195
|
+
return JSON.stringify(value);
|
|
196
|
+
}
|
|
197
|
+
/** Short file contents for the prompt, so the agent starts from real data. */
|
|
198
|
+
export function readSnippet(path, maxLength = 2_000) {
|
|
199
|
+
try {
|
|
200
|
+
const text = readFileSync(path, "utf8");
|
|
201
|
+
return text.length > maxLength ? `${text.slice(0, maxLength)}\n…` : text;
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=detect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/devcc/init/detect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ProjectFacts } from "./detect.js";
|
|
2
|
+
/**
|
|
3
|
+
* The prompt that lets a coding agent set up devcc for a project.
|
|
4
|
+
*
|
|
5
|
+
* It carries what devcc already detected (so the agent verifies rather than
|
|
6
|
+
* rediscovers), a draft to start from, the config reference, and firm rules:
|
|
7
|
+
* never invent commands, never guess hosts, keep verify non-interactive.
|
|
8
|
+
*
|
|
9
|
+
* Two delivery modes:
|
|
10
|
+
* - `write`: an interactive agent edits `.devcc.ts` itself and checks its work
|
|
11
|
+
* with `devcc config check` (used by `devcc init --agent`).
|
|
12
|
+
* - `print`: a headless agent prints the file between markers; devcc validates
|
|
13
|
+
* it and asks before writing (used from the dashboard, where the agent has no
|
|
14
|
+
* permission to edit files).
|
|
15
|
+
*/
|
|
16
|
+
export type SetupPromptMode = "write" | "print";
|
|
17
|
+
export declare const CONFIG_BEGIN_MARKER = "----- BEGIN .devcc.ts -----";
|
|
18
|
+
export declare const CONFIG_END_MARKER = "----- END .devcc.ts -----";
|
|
19
|
+
export declare function buildSetupPrompt(facts: ProjectFacts, mode: SetupPromptMode): string;
|
|
20
|
+
/**
|
|
21
|
+
* Pull the config out of a headless agent's output: the last block between the
|
|
22
|
+
* markers, with a surrounding code fence removed. Null when there is none.
|
|
23
|
+
*/
|
|
24
|
+
export declare function extractConfigFromOutput(output: string): string | null;
|
|
25
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/devcc/init/prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAEjF;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,CAAA;AAE/C,eAAO,MAAM,mBAAmB,gCAAgC,CAAA;AAChE,eAAO,MAAM,iBAAiB,8BAA8B,CAAA;AA4D5D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,CAgFnF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWrE"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { basename } from "node:path";
|
|
2
|
+
import { readSnippet, renderStarterConfig } from "./detect.js";
|
|
3
|
+
export const CONFIG_BEGIN_MARKER = "----- BEGIN .devcc.ts -----";
|
|
4
|
+
export const CONFIG_END_MARKER = "----- END .devcc.ts -----";
|
|
5
|
+
const REFERENCE = `
|
|
6
|
+
## .devcc.ts reference (all fields optional)
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
name?: string, // header label
|
|
10
|
+
processes?: [{ // long-running things devcc starts/stops
|
|
11
|
+
id, name?, command, args?: string[], cwd?, env?: Record<string, string>,
|
|
12
|
+
kind?: "service" | "task", autoStart?: boolean, url?: string, port?: number,
|
|
13
|
+
dependsOn?: string[], // ids that must be ready first
|
|
14
|
+
readiness?: { port?: number, host?: string, logPattern?: string, timeoutMs?: number },
|
|
15
|
+
restartOnCrash?: boolean,
|
|
16
|
+
}],
|
|
17
|
+
commands?: [{ // palette actions
|
|
18
|
+
id, title, category?, command, args?, cwd?, keywords?: string[],
|
|
19
|
+
confirm?: true | { title, message }, // REQUIRED for anything destructive
|
|
20
|
+
}],
|
|
21
|
+
verify?: (string | { id, name?, command, args?, cwd? })[],
|
|
22
|
+
// strings = command ids, then package.json script names
|
|
23
|
+
services?: [ // extra things to watch
|
|
24
|
+
{ id, name?, port, host?, healthPath? } |
|
|
25
|
+
{ id, name?, type: "ollama", baseUrl: "http://host:11434" },
|
|
26
|
+
],
|
|
27
|
+
agents?: { claude?: { command?, args? }, codex?: { command?, args? } },
|
|
28
|
+
editor?: { command: "code" | "zed" | "cursor" | "webstorm" } | { application: "WebStorm" },
|
|
29
|
+
terminal?: { application: "iTerm" } | { command, args?, execArgs? },
|
|
30
|
+
worktrees?: { directory?: string }, // relative to the main worktree, default ".."
|
|
31
|
+
remoteMachines?: [{ id, name?, host, transport: "ssh", port?, user?, services?: string[] }],
|
|
32
|
+
refresh?: { system?, services?, git?, clock? },
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
Everything is spawned as command + args with no shell: never put pipes, &&, env assignments or
|
|
36
|
+
quotes inside a single string. \`command: "pnpm", args: ["run", "dev"]\` is right;
|
|
37
|
+
\`command: "pnpm run dev"\` is wrong.`;
|
|
38
|
+
function factsSection(facts) {
|
|
39
|
+
const lines = [
|
|
40
|
+
`- root: ${facts.rootDir}`,
|
|
41
|
+
`- name: ${facts.name}`,
|
|
42
|
+
`- git repository: ${facts.hasGit ? "yes" : "no"}`,
|
|
43
|
+
`- languages: ${facts.languages.join(", ") || "none detected"}`,
|
|
44
|
+
`- package manager: ${facts.packageManager ? `${facts.packageManager.manager} (from ${facts.packageManager.source})` : "none (no package.json)"}`,
|
|
45
|
+
`- monorepo: ${facts.monorepo ?? "no"}`,
|
|
46
|
+
`- frameworks (by dependency): ${facts.frameworks.map((framework) => `${framework.name} (default port ${framework.port})`).join(", ") || "none recognised"}`,
|
|
47
|
+
`- notable files: ${facts.files.join(", ") || "none"}`,
|
|
48
|
+
`- existing devcc config: ${facts.configPath ? basename(facts.configPath) : "none"}`,
|
|
49
|
+
];
|
|
50
|
+
if (facts.scripts.length > 0) {
|
|
51
|
+
lines.push(`- package.json scripts:`);
|
|
52
|
+
for (const script of facts.scripts)
|
|
53
|
+
lines.push(` - ${script.name}: ${script.command}`);
|
|
54
|
+
}
|
|
55
|
+
if (facts.skippedScripts.length > 0) {
|
|
56
|
+
lines.push(`- left out of verify: ${facts.skippedScripts.map((script) => `${script.name} (${script.reason})`).join(", ")}`);
|
|
57
|
+
}
|
|
58
|
+
return lines.join("\n");
|
|
59
|
+
}
|
|
60
|
+
export function buildSetupPrompt(facts, mode) {
|
|
61
|
+
const existing = facts.configPath ? readSnippet(facts.configPath, 6_000) : null;
|
|
62
|
+
const draft = renderStarterConfig(facts);
|
|
63
|
+
const output = mode === "write"
|
|
64
|
+
? `## Deliver
|
|
65
|
+
|
|
66
|
+
1. ${facts.configPath ? `Update \`${basename(facts.configPath)}\` in place, keeping anything the user wrote that is still correct.` : "Create `.devcc.ts` in the project root."}
|
|
67
|
+
2. Run \`devcc config check\` and fix every issue it reports. Do not stop until it exits 0.
|
|
68
|
+
3. If you added \`verify\`, run \`devcc verify\`. A step that fails because the project itself is broken
|
|
69
|
+
stays in the list - report it; do not delete checks to make the gate pass.
|
|
70
|
+
4. Finish with a short summary: what you configured, what you deliberately left out, and why.`
|
|
71
|
+
: `## Deliver
|
|
72
|
+
|
|
73
|
+
You cannot edit files in this session. Print the complete file, and nothing else between the markers,
|
|
74
|
+
exactly like this:
|
|
75
|
+
|
|
76
|
+
${CONFIG_BEGIN_MARKER}
|
|
77
|
+
export default {
|
|
78
|
+
...
|
|
79
|
+
}
|
|
80
|
+
${CONFIG_END_MARKER}
|
|
81
|
+
|
|
82
|
+
devcc validates it and asks the user before writing it${facts.configPath ? ` over \`${basename(facts.configPath)}\`` : ""}. After the markers, add
|
|
83
|
+
a short summary: what you configured, what you left out, and why.`;
|
|
84
|
+
return `Set up devcc for this project: produce a solid .devcc.ts.
|
|
85
|
+
|
|
86
|
+
devcc (@doriandev/devcc) is a keyboard-driven terminal dashboard for local development. Its config
|
|
87
|
+
tells it which dev processes it may start, which checks \`devcc verify\` runs as the quality gate, and
|
|
88
|
+
which commands appear in its palette. You are configuring it for the repository in your working
|
|
89
|
+
directory.
|
|
90
|
+
|
|
91
|
+
## What devcc already detected
|
|
92
|
+
|
|
93
|
+
${factsSection(facts)}
|
|
94
|
+
|
|
95
|
+
## Draft from \`devcc init\`
|
|
96
|
+
|
|
97
|
+
Start from this, but verify every line against the repository - it only knows script names.
|
|
98
|
+
|
|
99
|
+
\`\`\`ts
|
|
100
|
+
${draft.trimEnd()}
|
|
101
|
+
\`\`\`
|
|
102
|
+
${existing ? `\n## Current config (${basename(facts.configPath ?? "")})\n\n\`\`\`ts\n${existing.trimEnd()}\n\`\`\`\n` : ""}
|
|
103
|
+
## Investigate before writing
|
|
104
|
+
|
|
105
|
+
- Read package.json (every workspace package in a monorepo), the README, CONTRIBUTING, AGENTS.md or
|
|
106
|
+
CLAUDE.md, CI workflows (.github/workflows), Makefile/justfile, docker compose files, framework
|
|
107
|
+
configs (next.config.*, vite.config.*, etc.) and .env.example.
|
|
108
|
+
- Find the real dev servers and their ports. Ports come from scripts, framework config or
|
|
109
|
+
.env.example - not from defaults when the project overrides them.
|
|
110
|
+
- CI shows what the team treats as the quality gate; mirror it in \`verify\` where it can run locally.
|
|
111
|
+
|
|
112
|
+
## Rules
|
|
113
|
+
|
|
114
|
+
- Only use commands that exist in this repository or are the standard CLI of a toolchain it uses. Never
|
|
115
|
+
invent scripts, binaries or ports.
|
|
116
|
+
- \`processes\`: long-running dev servers, watchers and local infra the developer starts by hand. Use
|
|
117
|
+
\`readiness\` with the real port (or a \`logPattern\` from the server's actual output) and \`dependsOn\`
|
|
118
|
+
when one service needs another. In a monorepo, one process per app with \`cwd\`. Do not set
|
|
119
|
+
\`autoStart\` unless the README says the project is always run that way.
|
|
120
|
+
- \`verify\`: fast to slow (format check, lint, typecheck, tests, build). Every step must be
|
|
121
|
+
non-interactive, exit on its own, and not modify files (no --watch, --fix or --write). Prefer
|
|
122
|
+
package.json script names over inline steps.
|
|
123
|
+
- \`commands\`: useful project tasks that are not already scripts devcc shows (migrations, seeding,
|
|
124
|
+
codegen, docker compose profiles). Anything that deletes, resets, migrates or deploys needs
|
|
125
|
+
\`confirm: true\`.
|
|
126
|
+
- Never add secrets, tokens, credentials or values from .env files. Never add \`remoteMachines\`,
|
|
127
|
+
hostnames or IP addresses unless the repository documents them for local development.
|
|
128
|
+
- Leave out \`editor\`, \`terminal\` and \`agents\` unless the repository states a preference; they are
|
|
129
|
+
personal. Leave out anything you are unsure of rather than guessing - a small correct config beats a
|
|
130
|
+
large wrong one.
|
|
131
|
+
- Use a plain \`export default { ... }\` object. Import \`defineConfig\` from "@doriandev/devcc" only if that
|
|
132
|
+
package is already a dependency of this project.
|
|
133
|
+
${REFERENCE}
|
|
134
|
+
|
|
135
|
+
${output}
|
|
136
|
+
`;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Pull the config out of a headless agent's output: the last block between the
|
|
140
|
+
* markers, with a surrounding code fence removed. Null when there is none.
|
|
141
|
+
*/
|
|
142
|
+
export function extractConfigFromOutput(output) {
|
|
143
|
+
const end = output.lastIndexOf(CONFIG_END_MARKER);
|
|
144
|
+
if (end === -1)
|
|
145
|
+
return null;
|
|
146
|
+
const begin = output.lastIndexOf(CONFIG_BEGIN_MARKER, end);
|
|
147
|
+
if (begin === -1)
|
|
148
|
+
return null;
|
|
149
|
+
const body = output
|
|
150
|
+
.slice(begin + CONFIG_BEGIN_MARKER.length, end)
|
|
151
|
+
.replace(/^\s*```[a-z]*\s*\n/u, "")
|
|
152
|
+
.replace(/\n\s*```\s*$/u, "")
|
|
153
|
+
.trim();
|
|
154
|
+
return body === "" ? null : `${body}\n`;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/devcc/init/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAqB,MAAM,aAAa,CAAA;AAmBjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,6BAA6B,CAAA;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,2BAA2B,CAAA;AAE5D,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAgCoB,CAAA;AAEtC,SAAS,YAAY,CAAC,KAAmB;IACvC,MAAM,KAAK,GAAG;QACZ,WAAW,KAAK,CAAC,OAAO,EAAE;QAC1B,WAAW,KAAK,CAAC,IAAI,EAAE;QACvB,qBAAqB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAClD,gBAAgB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,EAAE;QAC/D,sBAAsB,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,wBAAwB,EAAE;QACjJ,eAAe,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;QACvC,iCAAiC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,kBAAkB,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,EAAE;QAC5J,oBAAoB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;QACtD,4BAA4B,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;KACrF,CAAA;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QACrC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IACzF,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CACR,yBAAyB,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChH,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAmB,EAAE,IAAqB;IACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/E,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAExC,MAAM,MAAM,GACV,IAAI,KAAK,OAAO;QACd,CAAC,CAAC;;KAEH,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,qEAAqE,CAAC,CAAC,CAAC,yCAAyC;;;;8FAIjF;QACxF,CAAC,CAAC;;;;;EAKN,mBAAmB;;;;EAInB,iBAAiB;;wDAEqC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;kEACvD,CAAA;IAEhE,OAAO;;;;;;;;;EASP,YAAY,CAAC,KAAK,CAAC;;;;;;;EAOnB,KAAK,CAAC,OAAO,EAAE;;EAEf,QAAQ,CAAC,CAAC,CAAC,wBAAwB,QAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,kBAAkB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BxH,SAAS;;EAET,MAAM;CACP,CAAA;AACD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;IACjD,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;IAC1D,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC7B,MAAM,IAAI,GAAG,MAAM;SAChB,KAAK,CAAC,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC;SAC9C,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;SAClC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,IAAI,EAAE,CAAA;IACT,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAA;AACzC,CAAC"}
|
|
@@ -32,6 +32,17 @@ export declare class PortService implements ServiceAdapter {
|
|
|
32
32
|
detect(): Promise<boolean>;
|
|
33
33
|
getStatus(): Promise<ServiceStatus>;
|
|
34
34
|
}
|
|
35
|
+
export interface FrameworkHint {
|
|
36
|
+
/** Dependency name to look for in package.json. */
|
|
37
|
+
dependency: string;
|
|
38
|
+
id: string;
|
|
39
|
+
name: string;
|
|
40
|
+
port: number;
|
|
41
|
+
category?: ServiceAdapter["category"];
|
|
42
|
+
healthPath?: string;
|
|
43
|
+
}
|
|
44
|
+
/** Frameworks this project depends on, in hint order, one per port. */
|
|
45
|
+
export declare function detectFrameworks(packageJson: Record<string, unknown> | null): FrameworkHint[];
|
|
35
46
|
/**
|
|
36
47
|
* Build port adapters for frameworks this project actually depends on.
|
|
37
48
|
* Nothing is assumed: a project with none of these gets no adapters.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/devcc/services/node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACrC,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,qBAAa,WAAY,YAAW,cAAc;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IAE7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAEtB,OAAO,EAAE,kBAAkB;IAWjC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1B,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC;CAsB1C;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/devcc/services/node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACrC,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,qBAAa,WAAY,YAAW,cAAc;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IAE7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAEtB,OAAO,EAAE,kBAAkB;IAWjC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1B,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC;CAsB1C;AAED,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AA2BD,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,aAAa,EAAE,CAU7F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,WAAW,EAAE,CAY7F"}
|
|
@@ -79,29 +79,31 @@ function dependencyNames(packageJson) {
|
|
|
79
79
|
}
|
|
80
80
|
return names;
|
|
81
81
|
}
|
|
82
|
-
/**
|
|
83
|
-
|
|
84
|
-
* Nothing is assumed: a project with none of these gets no adapters.
|
|
85
|
-
*/
|
|
86
|
-
export function detectNodeServices(packageJson) {
|
|
82
|
+
/** Frameworks this project depends on, in hint order, one per port. */
|
|
83
|
+
export function detectFrameworks(packageJson) {
|
|
87
84
|
const dependencies = dependencyNames(packageJson);
|
|
88
85
|
const seenPorts = new Set();
|
|
89
|
-
const
|
|
86
|
+
const found = [];
|
|
90
87
|
for (const hint of FRAMEWORK_HINTS) {
|
|
91
|
-
if (!dependencies.has(hint.dependency))
|
|
92
|
-
continue;
|
|
93
|
-
if (seenPorts.has(hint.port))
|
|
88
|
+
if (!dependencies.has(hint.dependency) || seenPorts.has(hint.port))
|
|
94
89
|
continue;
|
|
95
90
|
seenPorts.add(hint.port);
|
|
96
|
-
|
|
97
|
-
id: hint.id,
|
|
98
|
-
name: hint.name,
|
|
99
|
-
port: hint.port,
|
|
100
|
-
category: hint.category ?? "web",
|
|
101
|
-
healthPath: hint.healthPath,
|
|
102
|
-
onlyWhenListening: true,
|
|
103
|
-
}));
|
|
91
|
+
found.push(hint);
|
|
104
92
|
}
|
|
105
|
-
return
|
|
93
|
+
return found;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Build port adapters for frameworks this project actually depends on.
|
|
97
|
+
* Nothing is assumed: a project with none of these gets no adapters.
|
|
98
|
+
*/
|
|
99
|
+
export function detectNodeServices(packageJson) {
|
|
100
|
+
return detectFrameworks(packageJson).map((hint) => new PortService({
|
|
101
|
+
id: hint.id,
|
|
102
|
+
name: hint.name,
|
|
103
|
+
port: hint.port,
|
|
104
|
+
category: hint.category ?? "web",
|
|
105
|
+
healthPath: hint.healthPath,
|
|
106
|
+
onlyWhenListening: true,
|
|
107
|
+
}));
|
|
106
108
|
}
|
|
107
109
|
//# sourceMappingURL=node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/devcc/services/node.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/devcc/services/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverviewView.d.ts","sourceRoot":"","sources":["../../../src/devcc/views/OverviewView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAOtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE/C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,IAAI;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAa;IAChC,QAAQ,CAAC,KAAK,cAAa;IAE3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAElB,IAAI,EAAE,QAAQ;IAM1B,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"OverviewView.d.ts","sourceRoot":"","sources":["../../../src/devcc/views/OverviewView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAOtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE/C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,IAAI;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAa;IAChC,QAAQ,CAAC,KAAK,cAAa;IAE3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAElB,IAAI,EAAE,QAAQ;IAM1B,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAwKpB,KAAK,IAAI,OAAO,EAAE;CAY5B"}
|
|
@@ -67,7 +67,9 @@ export class OverviewView extends View {
|
|
|
67
67
|
rows.push(blank());
|
|
68
68
|
rows.push(section("Development"));
|
|
69
69
|
if (state.processes.length === 0) {
|
|
70
|
-
rows.push(info("",
|
|
70
|
+
rows.push(info("", state.project.configPath
|
|
71
|
+
? "no managed processes - add some in .devcc.ts"
|
|
72
|
+
: "no .devcc.ts yet - press / and run “Project: set up .devcc.ts”"));
|
|
71
73
|
}
|
|
72
74
|
else {
|
|
73
75
|
for (const process of state.processes.slice(0, compact ? 4 : 8)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverviewView.js","sourceRoot":"","sources":["../../../src/devcc/views/OverviewView.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OverviewView.js","sourceRoot":"","sources":["../../../src/devcc/views/OverviewView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,OAAO,EAAE,OAAO,EAAgB,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAEzD,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAW,CAAA;AAE/C;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,IAAI;IAC3B,EAAE,GAAW,UAAU,CAAA;IACvB,KAAK,GAAG,UAAU,CAAA;IAEV,IAAI,CAAS;IAE9B,YAAY,IAAc;QACxB,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAA;QACpE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,CAAC,KAAe;QACpB,MAAM,IAAI,GAAc,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAA;QACpC,MAAM,UAAU,GAAG,EAAE,CAAA;QAErB,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QACzB,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;QACrC,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAA;QACzC,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAA;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,cAAc,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;YACtF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;YAC7C,IAAI,CAAC,IAAI,CACP,UAAU,CACR,QAAQ,EACR,MAAM,CACJ,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACjG,EACD,UAAU,CACX,CACF,CAAA;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;YAC5E,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;gBAC1E,IAAI,CAAC,IAAI,CACP,IAAI,CACF,UAAU,EACV,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,gBAAgB,EACzF,UAAU,CACX,CACF,CAAA;YACH,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;QACzC,CAAC;QAED,0EAA0E;QAC1E,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;YAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC;oBACR,GAAG,EAAE,SAAS,KAAK,CAAC,EAAE,EAAE;oBACxB,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,MAAM,CACb,IAAI,EACJ,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAClD,GAAG,EACH,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAC3C,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EACvC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACzB;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;QACjC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CACP,IAAI,CACF,EAAE,EACF,KAAK,CAAC,OAAO,CAAC,UAAU;gBACtB,CAAC,CAAC,8CAA8C;gBAChD,CAAC,CAAC,gEAAgE,CACrE,CACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBACvE,MAAM,MAAM,GACV,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC3C,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC1D,CAAC,CAAC,EAAE,CAAA;gBACR,IAAI,CAAC,IAAI,CAAC;oBACR,GAAG,EAAE,WAAW,OAAO,CAAC,EAAE,EAAE;oBAC5B,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,MAAM,CACb,IAAI,EACJ,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EACpD,GAAG,EACH,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EACxC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAC5B,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EACpB,GAAG,CAAC,MAAM,CAAC,CACZ;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;QACvF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;YAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC;oBACR,GAAG,EAAE,WAAW,OAAO,CAAC,EAAE,EAAE;oBAC5B,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,MAAM,CACb,IAAI,EACJ,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAC1D,GAAG,EACH,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EACxC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAC3D,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CACnC;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CACP,UAAU,CACR,KAAK,EACL,MAAM,CACJ,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EACtD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAC3C,GAAG,CAAC,WAAW,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,EACD,UAAU,CACX,CACF,CAAA;YACD,IAAI,CAAC,IAAI,CACP,UAAU,CACR,QAAQ,EACR,MAAM,CACJ,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EACtE,GAAG,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CACrF,EACD,UAAU,CACX,CACF,CAAA;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;gBACvE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CACP,UAAU,CACR,aAAa,EACb,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,EACjE,UAAU,CACX,CACF,CAAA;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;IAEQ,KAAK;QACZ,OAAO;YACL,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;YACjC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE;YACjC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;YAC3B,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE;YACjC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC9B,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;YAChC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;YAC5B,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;SAC7B,CAAA;IACH,CAAC;CACF;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO;QACL,GAAG,EAAE,WAAW,KAAK,EAAE;QACvB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC1D,CAAA;AACH,CAAC;AAED,SAAS,KAAK;IACZ,OAAO,EAAE,GAAG,EAAE,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;AACvE,CAAC;AAED,SAAS,IAAI,CAAC,KAAa,EAAE,KAAa,EAAE,UAAU,GAAG,EAAE;IACzD,OAAO;QACL,GAAG,EAAE,QAAQ,KAAK,IAAI,KAAK,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;KAC7E,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,KAAgC,EAAE,UAAU,GAAG,EAAE;IAClF,OAAO;QACL,GAAG,EAAE,QAAQ,KAAK,EAAE;QACpB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;KACpE,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAe,EAAE,UAAkB;IACpD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,UAAU,sCAAsC,EAAE,UAAU,CAAC,CAAA;IAC/F,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAA;IAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAA;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;IACvF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO;QAC5B,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,qBAAqB,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE;QAC7E,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,UAAU,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACnI,OAAO,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;AACxE,CAAC;AAED,qEAAqE;AACrE,SAAS,oBAAoB,CAAC,KAAe;IAC3C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAA;IACjD,MAAM,QAAQ,GAAG,KAAK;SACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;SACtE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,IAAI,CAAC,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAC3G,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACzD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,KAAK,CAAC,MAAM,CAAA;IACrC,IAAI,KAAK,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC,OAAO,CAAA;IACrC,OAAO,KAAK,CAAC,OAAO,CAAA;AACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@doriandev/devcc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "A keyboard-driven terminal command center for local development: processes, scripts, git, services, logs and dependencies across one or more projects.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tui",
|
|
@@ -38,6 +38,11 @@ export interface AgentAdapter {
|
|
|
38
38
|
* cannot be read as an option. Tasks starting with `-` are refused otherwise.
|
|
39
39
|
*/
|
|
40
40
|
separatesPrompt: boolean
|
|
41
|
+
/**
|
|
42
|
+
* argv to start the agent's interactive session with `prompt` as the first
|
|
43
|
+
* message. Only for agents known to support it (the built-ins).
|
|
44
|
+
*/
|
|
45
|
+
interactiveArgs?: (prompt: string) => string[]
|
|
41
46
|
}
|
|
42
47
|
|
|
43
48
|
export interface AgentConfig {
|
|
@@ -73,6 +78,8 @@ interface BuiltinAgent {
|
|
|
73
78
|
command: string
|
|
74
79
|
/** Where the prompt goes relative to the user's extra args. */
|
|
75
80
|
args: (extra: string[], prompt: string) => string[]
|
|
81
|
+
/** Interactive session opened with `prompt` as the first message. */
|
|
82
|
+
interactiveArgs: (extra: string[], prompt: string) => string[]
|
|
76
83
|
}
|
|
77
84
|
|
|
78
85
|
/**
|
|
@@ -85,11 +92,13 @@ export const BUILTIN_AGENTS: Readonly<Record<string, BuiltinAgent>> = {
|
|
|
85
92
|
name: "Claude Code",
|
|
86
93
|
command: "claude",
|
|
87
94
|
args: (extra, prompt) => [...extra, "-p", "--", prompt],
|
|
95
|
+
interactiveArgs: (extra, prompt) => [...extra, "--", prompt],
|
|
88
96
|
},
|
|
89
97
|
codex: {
|
|
90
98
|
name: "Codex",
|
|
91
99
|
command: "codex",
|
|
92
100
|
args: (extra, prompt) => ["exec", ...extra, "--", prompt],
|
|
101
|
+
interactiveArgs: (extra, prompt) => [...extra, "--", prompt],
|
|
93
102
|
},
|
|
94
103
|
}
|
|
95
104
|
|
|
@@ -124,6 +133,7 @@ export function createAgentAdapters(
|
|
|
124
133
|
// option's value, e.g. `--message`), so they cannot take a `--` guard.
|
|
125
134
|
args: (prompt) => (builtin ? builtin.args(extra, prompt) : [...extra, prompt]),
|
|
126
135
|
separatesPrompt: builtin !== undefined,
|
|
136
|
+
interactiveArgs: builtin ? (prompt) => builtin.interactiveArgs(extra, prompt) : undefined,
|
|
127
137
|
})
|
|
128
138
|
}
|
|
129
139
|
|