create-manifest 1.3.4 → 2.0.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.
Files changed (57) hide show
  1. package/README.md +40 -21
  2. package/index.js +51 -0
  3. package/package.json +11 -89
  4. package/starter/.claude/settings.local.json +21 -0
  5. package/starter/.env.example +1 -0
  6. package/starter/@/components/table.tsx +478 -0
  7. package/starter/@/components/ui/button.tsx +62 -0
  8. package/starter/@/components/ui/checkbox.tsx +30 -0
  9. package/starter/README-DEV.md +167 -0
  10. package/starter/components.json +24 -0
  11. package/starter/package.json +42 -0
  12. package/starter/src/flows/list-pokemons.flow.ts +131 -0
  13. package/starter/src/server.ts +165 -0
  14. package/starter/src/web/PokemonList.tsx +125 -0
  15. package/starter/src/web/components/blog-post-card.tsx +286 -0
  16. package/starter/src/web/components/blog-post-list.tsx +291 -0
  17. package/starter/src/web/components/ui/.gitkeep +0 -0
  18. package/starter/src/web/components/ui/button.tsx +62 -0
  19. package/starter/src/web/globals.css +98 -0
  20. package/starter/src/web/hooks/.gitkeep +0 -0
  21. package/starter/src/web/lib/utils.ts +6 -0
  22. package/starter/src/web/root.tsx +36 -0
  23. package/starter/src/web/tsconfig.json +3 -0
  24. package/starter/tsconfig.json +21 -0
  25. package/starter/tsconfig.web.json +24 -0
  26. package/starter/vite.config.ts +36 -0
  27. package/assets/monorepo/README.md +0 -52
  28. package/assets/monorepo/api-package.json +0 -9
  29. package/assets/monorepo/api-readme.md +0 -50
  30. package/assets/monorepo/manifest.yml +0 -34
  31. package/assets/monorepo/root-package.json +0 -15
  32. package/assets/monorepo/web-package.json +0 -10
  33. package/assets/monorepo/web-readme.md +0 -9
  34. package/assets/standalone/README.md +0 -50
  35. package/assets/standalone/api-package.json +0 -9
  36. package/assets/standalone/manifest.yml +0 -34
  37. package/bin/dev.cmd +0 -3
  38. package/bin/dev.js +0 -5
  39. package/bin/run.cmd +0 -3
  40. package/bin/run.js +0 -5
  41. package/dist/commands/index.d.ts +0 -65
  42. package/dist/commands/index.js +0 -480
  43. package/dist/index.d.ts +0 -1
  44. package/dist/index.js +0 -1
  45. package/dist/utils/GetBackendFileContent.d.ts +0 -1
  46. package/dist/utils/GetBackendFileContent.js +0 -21
  47. package/dist/utils/GetLatestPackageVersion.d.ts +0 -1
  48. package/dist/utils/GetLatestPackageVersion.js +0 -5
  49. package/dist/utils/UpdateExtensionJsonFile.d.ts +0 -6
  50. package/dist/utils/UpdateExtensionJsonFile.js +0 -8
  51. package/dist/utils/UpdatePackageJsonFile.d.ts +0 -18
  52. package/dist/utils/UpdatePackageJsonFile.js +0 -21
  53. package/dist/utils/UpdateSettingsJsonFile.d.ts +0 -4
  54. package/dist/utils/UpdateSettingsJsonFile.js +0 -6
  55. package/dist/utils/helpers.d.ts +0 -1
  56. package/dist/utils/helpers.js +0 -11
  57. package/oclif.manifest.json +0 -47
package/README.md CHANGED
@@ -1,38 +1,57 @@
1
1
  # create-manifest
2
2
 
3
- The `create manifest` create a new project with [Manifest](https://manifest.build).
3
+ Create a new Manifest MCP server project with a single command.
4
+
5
+ ## Usage
4
6
 
5
7
  ```bash
6
- npx create-manifest@latest
8
+ npx create-manifest my-app
7
9
  ```
8
10
 
9
- This will create a folder named my-project and install Manifest inside it.
10
- If you leave out the name, the CLI will ask you for it during setup.
11
+ This will:
11
12
 
12
- You can add a flag to set up rules for your AI code Editor:
13
+ 1. Create a new directory `my-app`
14
+ 2. Copy the starter template
15
+ 3. Install dependencies
16
+ 4. Start the development server
13
17
 
14
- - `--cursor` for **Cursor**
15
- - `--copilot` for **GitHub Copilot**
16
- - `--windsurf` for **Windsurf**
18
+ ## What's Included
17
19
 
18
- You can also use `yarn create manifest`.
20
+ The starter template includes:
19
21
 
20
- ## Develop
22
+ - MCP server setup with Express
23
+ - TypeScript configuration
24
+ - Hot reload with Nodemon
25
+ - Vite for building web components
21
26
 
22
- ```bash
23
- npm install
27
+ ## Requirements
24
28
 
25
- # Run from a test folder to prevent messing with project files.
26
- mkdir test-folder
27
- cd test-folder
28
- ../bin/dev.js
29
- ```
29
+ - Node.js 22+
30
30
 
31
- However due to the monorepo workspace structure, the launch script will fail as the path to the node modules folder is different than when served. This is normal.
31
+ ## After Creation
32
32
 
33
- ## Publish
33
+ Your project will be running at `http://localhost:3000`.
34
+
35
+ To restart the dev server later:
34
36
 
35
37
  ```bash
36
- npm run build
37
- npm publish
38
+ cd my-app
39
+ npm run dev
38
40
  ```
41
+
42
+ ## Available Scripts
43
+
44
+ Inside the created project, you can run:
45
+
46
+ - `npm run dev` - Start development server with hot reload
47
+ - `npm run build` - Build for production
48
+ - `npm start` - Run production build
49
+
50
+ ## Learn More
51
+
52
+ - [Manifest Documentation](https://manifest.build)
53
+ - [MCP Protocol](https://modelcontextprotocol.io)
54
+
55
+ ## License
56
+
57
+ MIT
package/index.js ADDED
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { cpSync, readFileSync, writeFileSync } from 'node:fs'
4
+ import { join, dirname } from 'node:path'
5
+ import { fileURLToPath } from 'node:url'
6
+ import { execSync, spawn } from 'node:child_process'
7
+
8
+ const __dirname = dirname(fileURLToPath(import.meta.url))
9
+
10
+ const projectName = process.argv[2]
11
+
12
+ if (!projectName) {
13
+ console.error('Please provide a project name:')
14
+ console.error(' npx create-manifest my-app')
15
+ process.exit(1)
16
+ }
17
+
18
+ const targetDir = join(process.cwd(), projectName)
19
+ const starterDir = join(__dirname, 'starter')
20
+
21
+ console.log(`\nCreating a new Manifest project in ${targetDir}...\n`)
22
+
23
+ // Copy starter folder to target directory
24
+ cpSync(starterDir, targetDir, { recursive: true })
25
+
26
+ // Update package.json with the project name
27
+ const packageJsonPath = join(targetDir, 'package.json')
28
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'))
29
+ packageJson.name = projectName
30
+ writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n')
31
+
32
+ console.log('Installing dependencies...\n')
33
+
34
+ // Install dependencies
35
+ execSync('npm install', {
36
+ cwd: targetDir,
37
+ stdio: 'inherit'
38
+ })
39
+
40
+ console.log('\nStarting development server...\n')
41
+
42
+ // Run dev script
43
+ const dev = spawn('npm', ['run', 'dev'], {
44
+ cwd: targetDir,
45
+ stdio: 'inherit',
46
+ shell: true
47
+ })
48
+
49
+ dev.on('close', (code) => {
50
+ process.exit(code)
51
+ })
package/package.json CHANGED
@@ -1,99 +1,21 @@
1
1
  {
2
2
  "name": "create-manifest",
3
- "version": "1.3.4",
4
- "author": "Manifest",
5
- "description": "Create a new Manifest backend",
6
- "homepage": "https://manifest.build",
7
- "license": "MIT",
3
+ "version": "2.0.0",
4
+ "description": "Create a new Manifest project",
5
+ "type": "module",
8
6
  "bin": {
9
- "create-manifest": "./bin/run.js"
10
- },
11
- "scripts": {
12
- "build": "shx rm -rf dist && tsc -b",
13
- "watch": "tsc -b --watch",
14
- "postpack": "shx rm -f oclif.manifest.json",
15
- "posttest": "npm run lint",
16
- "prepack": "npm run build && oclif manifest && oclif readme",
17
- "prepare": "npm run build",
18
- "version": "oclif readme && git add README.md"
19
- },
20
- "oclif": {
21
- "bin": "create-manifest",
22
- "dirname": "create-manifest",
23
- "commands": {
24
- "strategy": "single",
25
- "target": "./dist/commands/index.js"
26
- }
27
- },
28
- "plugins": [
29
- "@oclif/plugin-help",
30
- "@oclif/plugin-plugins"
31
- ],
32
- "topicSeparator": " ",
33
- "topics": {
34
- "create": {
35
- "description": "Create a new Manifest backend"
36
- }
37
- },
38
- "dependencies": {
39
- "@inquirer/prompts": "^7.5.1",
40
- "@oclif/core": "^4",
41
- "@oclif/plugin-help": "^6",
42
- "@oclif/plugin-plugins": "^5",
43
- "axios": "^1.9.0",
44
- "chalk": "^5.4.1",
45
- "fs": "^0.0.1-security",
46
- "jsonc-parser": "^3.3.1",
47
- "ora": "^8.2.0",
48
- "path": "^0.12.7",
49
- "tree-kill": "^1.2.2",
50
- "url": "^0.11.4"
51
- },
52
- "devDependencies": {
53
- "@oclif/prettier-config": "^0.2.1",
54
- "@oclif/test": "^4",
55
- "oclif": "^4.17.46",
56
- "shx": "^0.4.0",
57
- "ts-node": "^10.9.2",
58
- "typescript": "^5"
59
- },
60
- "engines": {
61
- "node": ">=18.0.0"
7
+ "create-manifest": "./index.js"
62
8
  },
63
9
  "files": [
64
- "/bin",
65
- "/dist",
66
- "/assets",
67
- "/oclif.manifest.json"
10
+ "index.js",
11
+ "starter"
68
12
  ],
69
- "main": "",
70
- "repository": {
71
- "type": "git",
72
- "url": "git+https://github.com/mnfst/manifest.git"
73
- },
74
- "bugs": "https://github.com/mnfst/manifest/issues",
75
13
  "keywords": [
76
14
  "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",
90
- "micro-backend",
91
- "backend",
92
- "headless",
93
- "install",
94
- "rest"
15
+ "mcp",
16
+ "create",
17
+ "cli"
95
18
  ],
96
- "types": "dist/index.d.ts",
97
- "exports": "./lib/index.js",
98
- "type": "module"
19
+ "author": "MNFST, Inc.",
20
+ "license": "MIT"
99
21
  }
@@ -0,0 +1,21 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(cat:*)",
5
+ "Bash(npm install:*)",
6
+ "Bash(npm --version:*)",
7
+ "Bash(node --version:*)",
8
+ "Bash(npm cache clean:*)",
9
+ "Bash(npm ls:*)",
10
+ "Bash(npm run build:*)",
11
+ "WebFetch(domain:github.com)",
12
+ "WebFetch(domain:raw.githubusercontent.com)",
13
+ "WebSearch",
14
+ "WebFetch(domain:xmcp.dev)",
15
+ "WebFetch(domain:dev.to)",
16
+ "WebFetch(domain:www.skybridge.tech)",
17
+ "WebFetch(domain:gadget.dev)",
18
+ "Bash(curl:*)"
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1 @@
1
+ PORT=3000