@base44-preview/cli 0.0.17-pr.109.e107033 → 0.0.17-pr.111.1ac2475
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 +29 -0
- package/dist/index.js +23 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -57,6 +57,35 @@ The CLI will guide you through project setup. For step-by-step tutorials, see th
|
|
|
57
57
|
|
|
58
58
|
<!--| [`eject`](https://docs.base44.com/developers/references/cli/commands/eject) | Create a Base44 backend project from an existing Base44 app | -->
|
|
59
59
|
|
|
60
|
+
## AI Agent Skills
|
|
61
|
+
|
|
62
|
+
When creating a project, you'll be prompted to install AI agent skills for your preferred coding assistants:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
◆ Add AI agent skills? (Select agents to configure)
|
|
66
|
+
│ ◼ Cursor
|
|
67
|
+
│ ◼ Claude Code
|
|
68
|
+
└
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
This installs [base44/skills](https://github.com/base44/skills) which helps AI agents understand how to work with Base44 projects.
|
|
72
|
+
|
|
73
|
+
**Non-interactive mode:**
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Install skills for all supported agents
|
|
77
|
+
base44 create --name my-app --path ./my-app --skills
|
|
78
|
+
|
|
79
|
+
# Skip skills installation
|
|
80
|
+
base44 create --name my-app --path ./my-app
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Manual installation:**
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npx add-skill base44/skills
|
|
87
|
+
```
|
|
88
|
+
|
|
60
89
|
## Help
|
|
61
90
|
|
|
62
91
|
```bash
|
package/dist/index.js
CHANGED
|
@@ -38107,6 +38107,7 @@ async function createInteractive(options) {
|
|
|
38107
38107
|
description: result.description || void 0,
|
|
38108
38108
|
projectPath: result.projectPath,
|
|
38109
38109
|
deploy: options.deploy,
|
|
38110
|
+
skills: options.skills,
|
|
38110
38111
|
isInteractive: true
|
|
38111
38112
|
});
|
|
38112
38113
|
}
|
|
@@ -38117,10 +38118,11 @@ async function createNonInteractive(options) {
|
|
|
38117
38118
|
description: options.description,
|
|
38118
38119
|
projectPath: options.path,
|
|
38119
38120
|
deploy: options.deploy,
|
|
38121
|
+
skills: options.skills,
|
|
38120
38122
|
isInteractive: false
|
|
38121
38123
|
});
|
|
38122
38124
|
}
|
|
38123
|
-
async function executeCreate({ template, name: rawName, description, projectPath, deploy, isInteractive }) {
|
|
38125
|
+
async function executeCreate({ template, name: rawName, description, projectPath, deploy, skills, isInteractive }) {
|
|
38124
38126
|
const name$1 = rawName.trim();
|
|
38125
38127
|
const resolvedPath = resolve(projectPath);
|
|
38126
38128
|
const { projectId } = await runTask("Setting up your project...", async () => {
|
|
@@ -38180,12 +38182,31 @@ async function executeCreate({ template, name: rawName, description, projectPath
|
|
|
38180
38182
|
finalAppUrl = appUrl;
|
|
38181
38183
|
}
|
|
38182
38184
|
}
|
|
38185
|
+
let shouldAddSkills = false;
|
|
38186
|
+
if (isInteractive) {
|
|
38187
|
+
const result = await ye({ message: "Add AI agent skills?" });
|
|
38188
|
+
shouldAddSkills = !pD(result) && result;
|
|
38189
|
+
} else shouldAddSkills = !!skills;
|
|
38190
|
+
if (shouldAddSkills) await runTask("Installing AI agent skills...", async () => {
|
|
38191
|
+
await execa("npx", [
|
|
38192
|
+
"-y",
|
|
38193
|
+
"add-skill",
|
|
38194
|
+
"base44/skills",
|
|
38195
|
+
"-y"
|
|
38196
|
+
], {
|
|
38197
|
+
cwd: resolvedPath,
|
|
38198
|
+
stdio: "inherit"
|
|
38199
|
+
});
|
|
38200
|
+
}, {
|
|
38201
|
+
successMessage: theme.colors.base44Orange("AI agent skills added successfully"),
|
|
38202
|
+
errorMessage: "Failed to add AI agent skills - you can add them later with: npx add-skill base44/skills"
|
|
38203
|
+
});
|
|
38183
38204
|
M.message(`${theme.styles.header("Project")}: ${theme.colors.base44Orange(name$1)}`);
|
|
38184
38205
|
M.message(`${theme.styles.header("Dashboard")}: ${theme.colors.links(getDashboardUrl(projectId))}`);
|
|
38185
38206
|
if (finalAppUrl) M.message(`${theme.styles.header("Site")}: ${theme.colors.links(finalAppUrl)}`);
|
|
38186
38207
|
return { outroMessage: "Your project is set up and ready to use" };
|
|
38187
38208
|
}
|
|
38188
|
-
const createCommand = new Command("create").description("Create a new Base44 project").option("-n, --name <name>", "Project name").option("-d, --description <description>", "Project description").option("-p, --path <path>", "Path where to create the project").option("-t, --template <id>", "Template ID (e.g., backend-only, backend-and-client)").option("--deploy", "Build and deploy the site").hook("preAction", validateNonInteractiveFlags$1).action(async (options) => {
|
|
38209
|
+
const createCommand = new Command("create").description("Create a new Base44 project").option("-n, --name <name>", "Project name").option("-d, --description <description>", "Project description").option("-p, --path <path>", "Path where to create the project").option("-t, --template <id>", "Template ID (e.g., backend-only, backend-and-client)").option("--deploy", "Build and deploy the site").option("--skills", "Add AI agent skills").hook("preAction", validateNonInteractiveFlags$1).action(async (options) => {
|
|
38189
38210
|
await chooseCreate(options);
|
|
38190
38211
|
});
|
|
38191
38212
|
|