create-manifest 1.1.8 → 1.1.10
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 +16 -1
- package/dist/commands/index.d.ts +2 -0
- package/dist/commands/index.js +47 -3
- package/oclif.manifest.json +11 -1
- package/package.json +14 -1
package/README.md
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
# create-manifest
|
|
2
2
|
|
|
3
|
-
The `create
|
|
3
|
+
The `create manifest` create a new project with [Manifest](https://manifest.build).
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
yarn create manifest my-project --cursor
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
This will create a new folder named my-project, install Manifest, and configure it for Cursor.
|
|
10
|
+
|
|
11
|
+
You can replace `--cursor` with:
|
|
12
|
+
|
|
13
|
+
- `--copilot` for GitHub Copilot
|
|
14
|
+
- `--windsurf` for Windsurf
|
|
15
|
+
- or remove it entirely if you're not using an AI coding tool
|
|
16
|
+
|
|
17
|
+
You can also specify your project name directly (my-project in the example).
|
|
18
|
+
If omitted, the CLI will prompt you for it during setup.
|
|
4
19
|
|
|
5
20
|
```bash
|
|
6
21
|
npx create-manifest@latest
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export default class CreateManifest extends Command {
|
|
|
7
7
|
static flags: {
|
|
8
8
|
backendFile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
9
|
cursor: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
copilot: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
windsurf: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
12
|
};
|
|
11
13
|
/**
|
|
12
14
|
* The run method is called when the command is run.
|
package/dist/commands/index.js
CHANGED
|
@@ -30,7 +30,9 @@ export default class CreateManifest extends Command {
|
|
|
30
30
|
backendFile: Flags.string({
|
|
31
31
|
summary: 'The remote file to use as a template for the backend.yml file. If not provided, the default file will be used.'
|
|
32
32
|
}),
|
|
33
|
-
cursor: Flags.boolean()
|
|
33
|
+
cursor: Flags.boolean(),
|
|
34
|
+
copilot: Flags.boolean(),
|
|
35
|
+
windsurf: Flags.boolean()
|
|
34
36
|
};
|
|
35
37
|
/**
|
|
36
38
|
* The run method is called when the command is run.
|
|
@@ -186,7 +188,7 @@ export default class CreateManifest extends Command {
|
|
|
186
188
|
fs.writeFileSync(readmeFilePath, fs.readFileSync(path.join(assetFolderPath, 'README.md'), 'utf8'));
|
|
187
189
|
}
|
|
188
190
|
// * 10. Add optional files based on flags
|
|
189
|
-
// Add rules for
|
|
191
|
+
// Add rules for IDEs.
|
|
190
192
|
if (flags.cursor) {
|
|
191
193
|
spinner.start('Add rules for Cursor IDE...');
|
|
192
194
|
const cursorFolderPath = path.join(projectFolderPath, '.cursor', 'rules');
|
|
@@ -201,13 +203,55 @@ export default class CreateManifest extends Command {
|
|
|
201
203
|
cursorFileContent = await response.text();
|
|
202
204
|
}
|
|
203
205
|
catch (error) {
|
|
204
|
-
console.error('Error fetching
|
|
206
|
+
console.error('Error fetching file:', error);
|
|
205
207
|
throw error;
|
|
206
208
|
}
|
|
207
209
|
// Write the content to the new file
|
|
208
210
|
fs.writeFileSync(path.join(cursorFolderPath, cursorFileName), cursorFileContent);
|
|
209
211
|
spinner.succeed();
|
|
210
212
|
}
|
|
213
|
+
if (flags.copilot) {
|
|
214
|
+
spinner.start('Add rules for Copilot IDE...');
|
|
215
|
+
const copilotFolderPath = path.join(projectFolderPath, '.github');
|
|
216
|
+
const copilotFileName = 'copilot-instructions.md';
|
|
217
|
+
fs.mkdirSync(copilotFolderPath, { recursive: true });
|
|
218
|
+
let copilotFileContent;
|
|
219
|
+
try {
|
|
220
|
+
const response = await fetch('https://raw.githubusercontent.com/mnfst/rules/refs/heads/main/copilot/copilot-instructions.md');
|
|
221
|
+
if (!response.ok) {
|
|
222
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
223
|
+
}
|
|
224
|
+
copilotFileContent = await response.text();
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
console.error('Error fetching file:', error);
|
|
228
|
+
throw error;
|
|
229
|
+
}
|
|
230
|
+
// Write the content to the new file
|
|
231
|
+
fs.writeFileSync(path.join(copilotFolderPath, copilotFileName), copilotFileContent);
|
|
232
|
+
spinner.succeed();
|
|
233
|
+
}
|
|
234
|
+
if (flags.windsurf) {
|
|
235
|
+
spinner.start('Add rules for WindSurf IDE...');
|
|
236
|
+
const windsurfFolderPath = path.join(projectFolderPath, '.windsurf', 'rules');
|
|
237
|
+
const windsurfFileName = 'manifest.md';
|
|
238
|
+
fs.mkdirSync(windsurfFolderPath, { recursive: true });
|
|
239
|
+
let windsurfFileContent;
|
|
240
|
+
try {
|
|
241
|
+
const response = await fetch('https://raw.githubusercontent.com/mnfst/rules/refs/heads/main/windsurf/manifest.md');
|
|
242
|
+
if (!response.ok) {
|
|
243
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
244
|
+
}
|
|
245
|
+
windsurfFileContent = await response.text();
|
|
246
|
+
}
|
|
247
|
+
catch (error) {
|
|
248
|
+
console.error('Error fetching file:', error);
|
|
249
|
+
throw error;
|
|
250
|
+
}
|
|
251
|
+
// Write the content to the new file
|
|
252
|
+
fs.writeFileSync(path.join(windsurfFolderPath, windsurfFileName), windsurfFileContent);
|
|
253
|
+
spinner.succeed();
|
|
254
|
+
}
|
|
211
255
|
// * 9. Install the new packages.
|
|
212
256
|
spinner.start('Install dependencies...');
|
|
213
257
|
// Install deps.
|
package/oclif.manifest.json
CHANGED
|
@@ -21,6 +21,16 @@
|
|
|
21
21
|
"name": "cursor",
|
|
22
22
|
"allowNo": false,
|
|
23
23
|
"type": "boolean"
|
|
24
|
+
},
|
|
25
|
+
"copilot": {
|
|
26
|
+
"name": "copilot",
|
|
27
|
+
"allowNo": false,
|
|
28
|
+
"type": "boolean"
|
|
29
|
+
},
|
|
30
|
+
"windsurf": {
|
|
31
|
+
"name": "windsurf",
|
|
32
|
+
"allowNo": false,
|
|
33
|
+
"type": "boolean"
|
|
24
34
|
}
|
|
25
35
|
},
|
|
26
36
|
"hasDynamicHelp": false,
|
|
@@ -33,5 +43,5 @@
|
|
|
33
43
|
"enableJsonFlag": false
|
|
34
44
|
}
|
|
35
45
|
},
|
|
36
|
-
"version": "1.1.
|
|
46
|
+
"version": "1.1.10"
|
|
37
47
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-manifest",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.10",
|
|
4
4
|
"author": "Manifest",
|
|
5
5
|
"description": "Create a new Manifest backend",
|
|
6
6
|
"homepage": "https://manifest.build",
|
|
@@ -74,6 +74,19 @@
|
|
|
74
74
|
"bugs": "https://github.com/mnfst/manifest/issues",
|
|
75
75
|
"keywords": [
|
|
76
76
|
"manifest",
|
|
77
|
+
"cursor",
|
|
78
|
+
"AI-powered coding",
|
|
79
|
+
"backend for LLMs",
|
|
80
|
+
"AI code tool",
|
|
81
|
+
"backend for vibe coding",
|
|
82
|
+
"backend for modern workflows",
|
|
83
|
+
"vibe coding",
|
|
84
|
+
"vibe coding backend",
|
|
85
|
+
"vibe coding api",
|
|
86
|
+
"AI assisted coding",
|
|
87
|
+
"AI coding",
|
|
88
|
+
"windsurf",
|
|
89
|
+
"copilot",
|
|
77
90
|
"micro-backend",
|
|
78
91
|
"backend",
|
|
79
92
|
"headless",
|