@epiccontext/mcp 0.1.56 → 0.1.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/client.d.ts +26 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +101 -0
- package/dist/api/client.js.map +1 -1
- package/dist/cli/commands/add-app.d.ts +9 -0
- package/dist/cli/commands/add-app.d.ts.map +1 -0
- package/dist/cli/commands/add-app.js +111 -0
- package/dist/cli/commands/add-app.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +37 -16
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/pull.d.ts +2 -0
- package/dist/cli/commands/pull.d.ts.map +1 -1
- package/dist/cli/commands/pull.js +120 -76
- package/dist/cli/commands/pull.js.map +1 -1
- package/dist/cli/commands/push.d.ts +2 -0
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +130 -82
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +2 -1
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +21 -3
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +6 -5
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/config.d.ts +4 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +20 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/files.d.ts +9 -1
- package/dist/cli/files.d.ts.map +1 -1
- package/dist/cli/files.js +158 -29
- package/dist/cli/files.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +12 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +12 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/list-documents.d.ts +10 -0
- package/dist/mcp/tools/list-documents.d.ts.map +1 -0
- package/dist/mcp/tools/list-documents.js +86 -0
- package/dist/mcp/tools/list-documents.js.map +1 -0
- package/dist/mcp/tools/read-document.d.ts +10 -0
- package/dist/mcp/tools/read-document.d.ts.map +1 -0
- package/dist/mcp/tools/read-document.js +119 -0
- package/dist/mcp/tools/read-document.js.map +1 -0
- package/dist/mcp/tools/sync-documents.d.ts +10 -0
- package/dist/mcp/tools/sync-documents.d.ts.map +1 -0
- package/dist/mcp/tools/sync-documents.js +89 -0
- package/dist/mcp/tools/sync-documents.js.map +1 -0
- package/dist/skills/generator.d.ts.map +1 -1
- package/dist/skills/generator.js +243 -5
- package/dist/skills/generator.js.map +1 -1
- package/dist/sync/document-files.d.ts +31 -0
- package/dist/sync/document-files.d.ts.map +1 -0
- package/dist/sync/document-files.js +98 -0
- package/dist/sync/document-files.js.map +1 -0
- package/dist/sync/document-manifest.d.ts +22 -0
- package/dist/sync/document-manifest.d.ts.map +1 -0
- package/dist/sync/document-manifest.js +55 -0
- package/dist/sync/document-manifest.js.map +1 -0
- package/dist/sync/document-pull.d.ts +16 -0
- package/dist/sync/document-pull.d.ts.map +1 -0
- package/dist/sync/document-pull.js +149 -0
- package/dist/sync/document-pull.js.map +1 -0
- package/dist/sync/document-push.d.ts +14 -0
- package/dist/sync/document-push.d.ts.map +1 -0
- package/dist/sync/document-push.js +107 -0
- package/dist/sync/document-push.js.map +1 -0
- package/dist/types/index.d.ts +102 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/api/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BlockWithSection, DeletionEntry, ExportResponse, FileInfo, SyncResult } from "../types/index.js";
|
|
1
|
+
import type { BlockWithSection, DeletionEntry, ExportResponse, FileInfo, SyncResult, DocumentListResponse } from "../types/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* EpicContext API Client
|
|
4
4
|
* Handles all communication with the EpicContext cloud API
|
|
@@ -107,6 +107,31 @@ export declare class EpicContextClient {
|
|
|
107
107
|
deleteBlock(key: string): Promise<{
|
|
108
108
|
message: string;
|
|
109
109
|
}>;
|
|
110
|
+
/**
|
|
111
|
+
* List all documents with metadata and folder paths
|
|
112
|
+
*/
|
|
113
|
+
listDocuments(options?: {
|
|
114
|
+
since?: string;
|
|
115
|
+
}): Promise<DocumentListResponse>;
|
|
116
|
+
/**
|
|
117
|
+
* Download a document's file binary
|
|
118
|
+
*/
|
|
119
|
+
downloadDocument(documentId: string): Promise<{
|
|
120
|
+
data: ArrayBuffer;
|
|
121
|
+
fileName: string;
|
|
122
|
+
mimeType: string;
|
|
123
|
+
}>;
|
|
124
|
+
/**
|
|
125
|
+
* Upload a document file
|
|
126
|
+
*/
|
|
127
|
+
uploadDocument(fileBuffer: Buffer, metadata: {
|
|
128
|
+
fileName: string;
|
|
129
|
+
mimeType: string;
|
|
130
|
+
folderPath?: string;
|
|
131
|
+
name?: string;
|
|
132
|
+
description?: string;
|
|
133
|
+
tags?: string[];
|
|
134
|
+
}): Promise<Record<string, unknown>>;
|
|
110
135
|
/**
|
|
111
136
|
* Test connection and get project info
|
|
112
137
|
*/
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,UAAU,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/client.js
CHANGED
|
@@ -103,6 +103,10 @@ export class EpicContextClient {
|
|
|
103
103
|
if (contentType?.includes("application/zip")) {
|
|
104
104
|
return response.blob();
|
|
105
105
|
}
|
|
106
|
+
// Binary responses (downloads) — return as ArrayBuffer
|
|
107
|
+
if (contentType && !contentType.includes("application/json")) {
|
|
108
|
+
return response.arrayBuffer();
|
|
109
|
+
}
|
|
106
110
|
return response.json();
|
|
107
111
|
}
|
|
108
112
|
/**
|
|
@@ -195,6 +199,103 @@ export class EpicContextClient {
|
|
|
195
199
|
method: "DELETE",
|
|
196
200
|
});
|
|
197
201
|
}
|
|
202
|
+
// ============================================
|
|
203
|
+
// Document Methods
|
|
204
|
+
// ============================================
|
|
205
|
+
/**
|
|
206
|
+
* List all documents with metadata and folder paths
|
|
207
|
+
*/
|
|
208
|
+
async listDocuments(options) {
|
|
209
|
+
const params = new URLSearchParams();
|
|
210
|
+
if (options?.since)
|
|
211
|
+
params.set("since", options.since);
|
|
212
|
+
const query = params.toString();
|
|
213
|
+
return this.request(`/documents${query ? `?${query}` : ""}`);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Download a document's file binary
|
|
217
|
+
*/
|
|
218
|
+
async downloadDocument(documentId) {
|
|
219
|
+
const url = `${this.baseUrl}/api/v1/projects/${this.projectId}/documents/${documentId}/download`;
|
|
220
|
+
let response;
|
|
221
|
+
try {
|
|
222
|
+
response = await fetch(url, {
|
|
223
|
+
headers: {
|
|
224
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
225
|
+
},
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
catch (fetchError) {
|
|
229
|
+
const networkError = fetchError;
|
|
230
|
+
throw new Error(`Network error downloading document: ${networkError.message}`);
|
|
231
|
+
}
|
|
232
|
+
if (!response.ok) {
|
|
233
|
+
throw new Error(`Failed to download document: HTTP ${response.status}`);
|
|
234
|
+
}
|
|
235
|
+
const data = await response.arrayBuffer();
|
|
236
|
+
const contentDisposition = response.headers.get("content-disposition") || "";
|
|
237
|
+
const fileNameMatch = contentDisposition.match(/filename="?([^"]+)"?/);
|
|
238
|
+
const fileName = fileNameMatch
|
|
239
|
+
? decodeURIComponent(fileNameMatch[1])
|
|
240
|
+
: "unknown";
|
|
241
|
+
const mimeType = response.headers.get("content-type") || "application/octet-stream";
|
|
242
|
+
return { data, fileName, mimeType };
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Upload a document file
|
|
246
|
+
*/
|
|
247
|
+
async uploadDocument(fileBuffer, metadata) {
|
|
248
|
+
const url = `${this.baseUrl}/api/v1/projects/${this.projectId}/documents/upload`;
|
|
249
|
+
// Build FormData manually for Node.js
|
|
250
|
+
const boundary = `----EpicContext${Date.now()}`;
|
|
251
|
+
const parts = [];
|
|
252
|
+
// Add file part
|
|
253
|
+
parts.push(Buffer.from(`--${boundary}\r\nContent-Disposition: form-data; name="file"; filename="${metadata.fileName}"\r\nContent-Type: ${metadata.mimeType}\r\n\r\n`));
|
|
254
|
+
parts.push(fileBuffer);
|
|
255
|
+
parts.push(Buffer.from("\r\n"));
|
|
256
|
+
// Add metadata fields
|
|
257
|
+
const fields = {};
|
|
258
|
+
if (metadata.folderPath)
|
|
259
|
+
fields.folderPath = metadata.folderPath;
|
|
260
|
+
if (metadata.name)
|
|
261
|
+
fields.name = metadata.name;
|
|
262
|
+
if (metadata.description)
|
|
263
|
+
fields.description = metadata.description;
|
|
264
|
+
if (metadata.tags)
|
|
265
|
+
fields.tags = metadata.tags.join(",");
|
|
266
|
+
for (const [key, value] of Object.entries(fields)) {
|
|
267
|
+
parts.push(Buffer.from(`--${boundary}\r\nContent-Disposition: form-data; name="${key}"\r\n\r\n${value}\r\n`));
|
|
268
|
+
}
|
|
269
|
+
parts.push(Buffer.from(`--${boundary}--\r\n`));
|
|
270
|
+
const body = Buffer.concat(parts);
|
|
271
|
+
let response;
|
|
272
|
+
try {
|
|
273
|
+
response = await fetch(url, {
|
|
274
|
+
method: "POST",
|
|
275
|
+
headers: {
|
|
276
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
277
|
+
"Content-Type": `multipart/form-data; boundary=${boundary}`,
|
|
278
|
+
},
|
|
279
|
+
body,
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
catch (fetchError) {
|
|
283
|
+
const networkError = fetchError;
|
|
284
|
+
throw new Error(`Network error uploading document: ${networkError.message}`);
|
|
285
|
+
}
|
|
286
|
+
if (!response.ok) {
|
|
287
|
+
let errorMsg = `HTTP ${response.status}`;
|
|
288
|
+
try {
|
|
289
|
+
const errorData = (await response.json());
|
|
290
|
+
errorMsg = errorData.error || errorMsg;
|
|
291
|
+
}
|
|
292
|
+
catch {
|
|
293
|
+
// ignore
|
|
294
|
+
}
|
|
295
|
+
throw new Error(`Failed to upload document: ${errorMsg}`);
|
|
296
|
+
}
|
|
297
|
+
return response.json();
|
|
298
|
+
}
|
|
198
299
|
/**
|
|
199
300
|
* Test connection and get project info
|
|
200
301
|
*/
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface AddAppOptions {
|
|
2
|
+
name?: string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Register a code repository as an app within the EpicContext project.
|
|
6
|
+
* Generates AI agent config files in the app folder pointing to the parent CONTEXT.
|
|
7
|
+
*/
|
|
8
|
+
export declare function addAppCommand(appPath: string, options: AddAppOptions): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=add-app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-app.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/add-app.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAmHf"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { loadConfig, saveConfig, getProjectRoot } from "../config.js";
|
|
5
|
+
/**
|
|
6
|
+
* Register a code repository as an app within the EpicContext project.
|
|
7
|
+
* Generates AI agent config files in the app folder pointing to the parent CONTEXT.
|
|
8
|
+
*/
|
|
9
|
+
export async function addAppCommand(appPath, options) {
|
|
10
|
+
const config = loadConfig();
|
|
11
|
+
const projectRoot = getProjectRoot();
|
|
12
|
+
if (!config || !projectRoot) {
|
|
13
|
+
console.log(chalk.red("Not inside an EpicContext project."));
|
|
14
|
+
console.log(`Run ${chalk.cyan("npx @epiccontext/mcp init")} to create one.`);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const absoluteAppPath = path.resolve(process.cwd(), appPath);
|
|
18
|
+
// Check that the path exists
|
|
19
|
+
if (!fs.existsSync(absoluteAppPath)) {
|
|
20
|
+
console.log(chalk.red(`Path does not exist: ${appPath}`));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
// Check if it's a directory
|
|
24
|
+
if (!fs.statSync(absoluteAppPath).isDirectory()) {
|
|
25
|
+
console.log(chalk.red(`Path is not a directory: ${appPath}`));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// Determine app name
|
|
29
|
+
const appName = options.name || path.basename(absoluteAppPath);
|
|
30
|
+
const relativePath = path.relative(projectRoot, absoluteAppPath);
|
|
31
|
+
// Check for git repo
|
|
32
|
+
const isGitRepo = fs.existsSync(path.join(absoluteAppPath, ".git"));
|
|
33
|
+
const appType = isGitRepo ? "git" : "other";
|
|
34
|
+
// Check if already registered
|
|
35
|
+
const existingApps = config.apps || [];
|
|
36
|
+
if (existingApps.some((a) => a.path === `./${relativePath}`)) {
|
|
37
|
+
console.log(chalk.yellow(`App already registered: ${appName}`));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
// Register the app
|
|
41
|
+
const newApp = {
|
|
42
|
+
name: appName,
|
|
43
|
+
path: `./${relativePath}`,
|
|
44
|
+
type: appType,
|
|
45
|
+
};
|
|
46
|
+
saveConfig({
|
|
47
|
+
apps: [...existingApps, newApp],
|
|
48
|
+
});
|
|
49
|
+
console.log(chalk.green(`Registered app: ${chalk.bold(appName)}`));
|
|
50
|
+
console.log(` Path: ${relativePath}`);
|
|
51
|
+
console.log(` Type: ${appType}${isGitRepo ? "" : " (no .git found)"}`);
|
|
52
|
+
// Generate app-specific CLAUDE.md
|
|
53
|
+
const relativeToContext = path.relative(absoluteAppPath, path.join(projectRoot, config.sync.path || "./CONTEXT"));
|
|
54
|
+
const relativeToDocuments = path.relative(absoluteAppPath, path.join(projectRoot, config.sync.documentsPath || "./DOCUMENTS"));
|
|
55
|
+
const relativeToRoot = path.relative(absoluteAppPath, projectRoot);
|
|
56
|
+
const appClaudeMd = `# EpicContext - AI Agent Instructions
|
|
57
|
+
|
|
58
|
+
This code repository is part of an EpicContext project.
|
|
59
|
+
|
|
60
|
+
## Parent Project
|
|
61
|
+
|
|
62
|
+
The project root is at \`${relativeToRoot}/\`.
|
|
63
|
+
All product context documentation lives there:
|
|
64
|
+
|
|
65
|
+
- \`${relativeToContext}/\` - Documentation blocks (personas, features, stories, decisions, etc.)
|
|
66
|
+
- \`${relativeToDocuments}/\` - Reference documents (PDFs, images, research files)
|
|
67
|
+
|
|
68
|
+
## BEFORE Starting Work
|
|
69
|
+
|
|
70
|
+
1. Read \`${relativeToContext}/AI-GUIDE.md\` for block schemas and rules
|
|
71
|
+
2. Read relevant sections (e.g., \`${relativeToContext}/product/\` for feature work)
|
|
72
|
+
3. Check \`${relativeToContext}/constitution/\` for project constraints
|
|
73
|
+
|
|
74
|
+
## AFTER Implementing Features
|
|
75
|
+
|
|
76
|
+
**You MUST update the parent CONTEXT when:**
|
|
77
|
+
- Implementing a feature → update its feature block status to "complete"
|
|
78
|
+
- Making a tech decision → create a decision block
|
|
79
|
+
- Adding an API endpoint → create an api_endpoint block
|
|
80
|
+
- Completing a task → set task block status to "complete"
|
|
81
|
+
- Changing data models → update data_model blocks
|
|
82
|
+
|
|
83
|
+
## Sync Commands (run from project root)
|
|
84
|
+
|
|
85
|
+
\`\`\`bash
|
|
86
|
+
cd ${relativeToRoot}
|
|
87
|
+
npx @epiccontext/mcp push # push context changes
|
|
88
|
+
npx @epiccontext/mcp pull # pull latest context
|
|
89
|
+
\`\`\`
|
|
90
|
+
`;
|
|
91
|
+
const claudeMdPath = path.join(absoluteAppPath, "CLAUDE.md");
|
|
92
|
+
if (!fs.existsSync(claudeMdPath)) {
|
|
93
|
+
fs.writeFileSync(claudeMdPath, appClaudeMd, "utf-8");
|
|
94
|
+
console.log(chalk.green(` Created CLAUDE.md in app folder`));
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
console.log(chalk.gray(` CLAUDE.md already exists in app folder (not overwritten)`));
|
|
98
|
+
}
|
|
99
|
+
// Also generate .cursorrules if it doesn't exist
|
|
100
|
+
const cursorRulesPath = path.join(absoluteAppPath, ".cursorrules");
|
|
101
|
+
if (!fs.existsSync(cursorRulesPath)) {
|
|
102
|
+
fs.writeFileSync(cursorRulesPath, appClaudeMd, "utf-8");
|
|
103
|
+
console.log(chalk.green(` Created .cursorrules in app folder`));
|
|
104
|
+
}
|
|
105
|
+
console.log("");
|
|
106
|
+
console.log(chalk.blue("AI agents working in this repo will now be guided to:"));
|
|
107
|
+
console.log(` - Read the parent CONTEXT before starting work`);
|
|
108
|
+
console.log(` - Update CONTEXT blocks after implementing features`);
|
|
109
|
+
console.log("");
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=add-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-app.js","sourceRoot":"","sources":["../../../src/cli/commands/add-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgHrE"}
|
|
@@ -1,24 +1,38 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
1
2
|
import * as path from "path";
|
|
2
3
|
import chalk from "chalk";
|
|
3
4
|
import ora from "ora";
|
|
4
|
-
import { ensureContextFolder, generateAgentConfigFiles, copyStorybookTemplate } from "../files.js";
|
|
5
|
+
import { ensureContextFolder, ensureDocumentsFolder, ensureAppsFolder, generateAgentConfigFiles, copyStorybookTemplate } from "../files.js";
|
|
5
6
|
import { saveConfig, isInsideProject } from "../config.js";
|
|
6
7
|
export async function initCommand(options) {
|
|
7
8
|
const contextPath = options.path || "./CONTEXT";
|
|
8
|
-
const
|
|
9
|
-
|
|
9
|
+
const documentsPath = "./DOCUMENTS";
|
|
10
|
+
const appsPath = "./apps";
|
|
11
|
+
const absoluteContextPath = path.resolve(process.cwd(), contextPath);
|
|
12
|
+
const absoluteDocumentsPath = path.resolve(process.cwd(), documentsPath);
|
|
13
|
+
const absoluteAppsPath = path.resolve(process.cwd(), appsPath);
|
|
14
|
+
console.log(chalk.blue("Initializing EpicContext project..."));
|
|
10
15
|
// Check if already inside a project
|
|
11
16
|
if (isInsideProject()) {
|
|
12
17
|
console.log(chalk.yellow("Warning: Already inside an EpicContext project."));
|
|
13
18
|
console.log("Run 'npx @epiccontext/mcp link' to connect to a project.");
|
|
14
19
|
return;
|
|
15
20
|
}
|
|
16
|
-
|
|
21
|
+
// Warn if inside a git repo (project root should not be a git repo)
|
|
22
|
+
const gitDir = path.join(process.cwd(), ".git");
|
|
23
|
+
if (fs.existsSync(gitDir)) {
|
|
24
|
+
console.log(chalk.yellow("\n Note: This directory is a git repository."));
|
|
25
|
+
console.log(chalk.yellow(" EpicContext project roots are typically NOT git repos."));
|
|
26
|
+
console.log(chalk.yellow(" Code repos should live inside the apps/ folder.\n"));
|
|
27
|
+
}
|
|
28
|
+
const spinner = ora("Creating project structure...").start();
|
|
17
29
|
try {
|
|
18
30
|
// Create folder structure
|
|
19
|
-
ensureContextFolder(
|
|
31
|
+
ensureContextFolder(absoluteContextPath);
|
|
32
|
+
ensureDocumentsFolder(absoluteDocumentsPath);
|
|
33
|
+
ensureAppsFolder(absoluteAppsPath);
|
|
20
34
|
// Copy Storybook template with pre-configured JWT authentication
|
|
21
|
-
const storybookResult = copyStorybookTemplate(
|
|
35
|
+
const storybookResult = copyStorybookTemplate(absoluteContextPath);
|
|
22
36
|
// Generate AI agent configuration files
|
|
23
37
|
const projectRoot = process.cwd();
|
|
24
38
|
generateAgentConfigFiles(projectRoot, contextPath);
|
|
@@ -27,19 +41,26 @@ export async function initCommand(options) {
|
|
|
27
41
|
version: 1,
|
|
28
42
|
sync: {
|
|
29
43
|
path: contextPath,
|
|
44
|
+
documentsPath,
|
|
30
45
|
conflictResolution: "timestamp",
|
|
31
46
|
autoSync: false,
|
|
32
47
|
ignoredPatterns: ["*.tmp", ".DS_Store", "node_modules"],
|
|
33
48
|
},
|
|
49
|
+
documents: {
|
|
50
|
+
enabled: true,
|
|
51
|
+
syncOnPull: false,
|
|
52
|
+
maxFileSize: 25 * 1024 * 1024,
|
|
53
|
+
},
|
|
54
|
+
apps: [],
|
|
34
55
|
watch: {
|
|
35
56
|
debounce: 2000,
|
|
36
57
|
pushOnly: false,
|
|
37
58
|
},
|
|
38
59
|
});
|
|
39
|
-
spinner.succeed("EpicContext initialized!");
|
|
60
|
+
spinner.succeed("EpicContext project initialized!");
|
|
40
61
|
console.log("");
|
|
41
|
-
console.log(chalk.green("
|
|
42
|
-
console.log(` ${
|
|
62
|
+
console.log(chalk.green("Project structure:"));
|
|
63
|
+
console.log(` ${chalk.bold("CONTEXT/")} ${chalk.dim("Documentation blocks (syncs with cloud)")}`);
|
|
43
64
|
console.log(` ├── constitution/`);
|
|
44
65
|
console.log(` ├── brand/`);
|
|
45
66
|
console.log(` ├── product/`);
|
|
@@ -48,7 +69,9 @@ export async function initCommand(options) {
|
|
|
48
69
|
console.log(` ├── research/`);
|
|
49
70
|
console.log(` ├── technical/`);
|
|
50
71
|
console.log(` ├── design-system/`);
|
|
51
|
-
|
|
72
|
+
if (storybookResult.created > 0) {
|
|
73
|
+
console.log(` │ └── storybook/ ${chalk.dim("(pre-configured with JWT auth)")}`);
|
|
74
|
+
}
|
|
52
75
|
console.log(` ├── information-architecture/`);
|
|
53
76
|
console.log(` ├── metrics/`);
|
|
54
77
|
console.log(` ├── decisions/`);
|
|
@@ -56,12 +79,9 @@ export async function initCommand(options) {
|
|
|
56
79
|
console.log(` ├── marketing/`);
|
|
57
80
|
console.log(` ├── README.md`);
|
|
58
81
|
console.log(` └── AI-GUIDE.md`);
|
|
82
|
+
console.log(` ${chalk.bold("DOCUMENTS/")} ${chalk.dim("Project files (syncs with cloud)")}`);
|
|
83
|
+
console.log(` ${chalk.bold("apps/")} ${chalk.dim("Code repositories (git repos)")}`);
|
|
59
84
|
console.log("");
|
|
60
|
-
if (storybookResult.created > 0) {
|
|
61
|
-
console.log(chalk.green(`Created Storybook template: ${storybookResult.created} files`));
|
|
62
|
-
console.log(chalk.dim(" Deploy to Vercel with JWT authentication for secure component sharing"));
|
|
63
|
-
console.log("");
|
|
64
|
-
}
|
|
65
85
|
console.log(chalk.green("Created AI agent config files:"));
|
|
66
86
|
console.log(` CLAUDE.md ${chalk.dim("(Claude Code)")}`);
|
|
67
87
|
console.log(` .cursorrules ${chalk.dim("(Cursor)")}`);
|
|
@@ -70,7 +90,8 @@ export async function initCommand(options) {
|
|
|
70
90
|
console.log("");
|
|
71
91
|
console.log(chalk.blue("Next steps:"));
|
|
72
92
|
console.log(` 1. Run ${chalk.cyan("npx @epiccontext/mcp link")} to connect to your EpicContext project`);
|
|
73
|
-
console.log(` 2. Run ${chalk.cyan("npx @epiccontext/mcp pull")} to download your
|
|
93
|
+
console.log(` 2. Run ${chalk.cyan("npx @epiccontext/mcp pull --with-documents")} to download your content`);
|
|
94
|
+
console.log(` 3. Clone your code repos into ${chalk.cyan("apps/")} and register with ${chalk.cyan("npx @epiccontext/mcp add-app")}`);
|
|
74
95
|
console.log("");
|
|
75
96
|
}
|
|
76
97
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ export interface PullOptions {
|
|
|
3
3
|
force?: boolean;
|
|
4
4
|
deleteOrphans?: boolean;
|
|
5
5
|
withSkills?: boolean;
|
|
6
|
+
withDocuments?: boolean;
|
|
7
|
+
documentsOnly?: boolean;
|
|
6
8
|
}
|
|
7
9
|
export declare function pullCommand(options: PullOptions): Promise<void>;
|
|
8
10
|
//# sourceMappingURL=pull.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pull.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pull.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiLrE"}
|