@opensaas/stack-cli 0.5.0 → 0.6.1
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 +76 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +94 -268
- package/dist/commands/migrate.js.map +1 -1
- package/package.json +7 -2
- package/.turbo/turbo-build.log +0 -4
- package/CHANGELOG.md +0 -462
- package/CLAUDE.md +0 -298
- package/src/commands/__snapshots__/generate.test.ts.snap +0 -413
- package/src/commands/dev.test.ts +0 -215
- package/src/commands/dev.ts +0 -48
- package/src/commands/generate.test.ts +0 -282
- package/src/commands/generate.ts +0 -182
- package/src/commands/init.ts +0 -34
- package/src/commands/mcp.ts +0 -135
- package/src/commands/migrate.ts +0 -534
- package/src/generator/__snapshots__/context.test.ts.snap +0 -361
- package/src/generator/__snapshots__/prisma.test.ts.snap +0 -174
- package/src/generator/__snapshots__/types.test.ts.snap +0 -1702
- package/src/generator/context.test.ts +0 -139
- package/src/generator/context.ts +0 -227
- package/src/generator/index.ts +0 -7
- package/src/generator/lists.test.ts +0 -335
- package/src/generator/lists.ts +0 -140
- package/src/generator/plugin-types.ts +0 -147
- package/src/generator/prisma-config.ts +0 -46
- package/src/generator/prisma-extensions.ts +0 -159
- package/src/generator/prisma.test.ts +0 -211
- package/src/generator/prisma.ts +0 -161
- package/src/generator/types.test.ts +0 -268
- package/src/generator/types.ts +0 -537
- package/src/index.ts +0 -46
- package/src/mcp/lib/documentation-provider.ts +0 -710
- package/src/mcp/lib/features/catalog.ts +0 -301
- package/src/mcp/lib/generators/feature-generator.ts +0 -598
- package/src/mcp/lib/types.ts +0 -89
- package/src/mcp/lib/wizards/migration-wizard.ts +0 -584
- package/src/mcp/lib/wizards/wizard-engine.ts +0 -427
- package/src/mcp/server/index.ts +0 -361
- package/src/mcp/server/stack-mcp-server.ts +0 -544
- package/src/migration/generators/migration-generator.ts +0 -675
- package/src/migration/introspectors/index.ts +0 -12
- package/src/migration/introspectors/keystone-introspector.ts +0 -296
- package/src/migration/introspectors/nextjs-introspector.ts +0 -209
- package/src/migration/introspectors/prisma-introspector.ts +0 -233
- package/src/migration/types.ts +0 -92
- package/tests/introspectors/keystone-introspector.test.ts +0 -255
- package/tests/introspectors/nextjs-introspector.test.ts +0 -302
- package/tests/introspectors/prisma-introspector.test.ts +0 -268
- package/tests/migration-generator.test.ts +0 -592
- package/tests/migration-wizard.test.ts +0 -442
- package/tsconfig.json +0 -13
- package/tsconfig.tsbuildinfo +0 -1
- package/vitest.config.ts +0 -26
package/README.md
CHANGED
|
@@ -143,6 +143,82 @@ pnpm db:push # Create database
|
|
|
143
143
|
pnpm dev # Start dev server
|
|
144
144
|
```
|
|
145
145
|
|
|
146
|
+
### `opensaas migrate`
|
|
147
|
+
|
|
148
|
+
Migrate an existing Prisma, KeystoneJS, or Next.js project to OpenSaas Stack.
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
opensaas migrate [options]
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**Options:**
|
|
155
|
+
|
|
156
|
+
- `--with-ai` - Enable AI-guided migration with Claude Code
|
|
157
|
+
- `--type <type>` - Force project type detection (prisma, nextjs, keystone)
|
|
158
|
+
|
|
159
|
+
**What it does:**
|
|
160
|
+
|
|
161
|
+
1. Detects project type (Prisma, KeystoneJS, Next.js)
|
|
162
|
+
2. Analyzes schema and counts models
|
|
163
|
+
3. With `--with-ai`: Sets up Claude Code integration
|
|
164
|
+
4. Provides next steps for migration
|
|
165
|
+
|
|
166
|
+
**Examples:**
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Basic migration analysis
|
|
170
|
+
opensaas migrate
|
|
171
|
+
|
|
172
|
+
# AI-guided migration (recommended)
|
|
173
|
+
opensaas migrate --with-ai
|
|
174
|
+
|
|
175
|
+
# Force project type
|
|
176
|
+
opensaas migrate --type prisma --with-ai
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**AI-Assisted Migration (with --with-ai):**
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
🚀 OpenSaas Stack Migration
|
|
183
|
+
|
|
184
|
+
✔ Detected: prisma, nextjs
|
|
185
|
+
✔ Found 8 models
|
|
186
|
+
├─ User (6 fields)
|
|
187
|
+
├─ Post (10 fields)
|
|
188
|
+
├─ Comment (5 fields)
|
|
189
|
+
└─ ...
|
|
190
|
+
✔ Claude Code ready
|
|
191
|
+
├─ Created .claude directory
|
|
192
|
+
├─ Generated migration assistant
|
|
193
|
+
└─ Registered MCP server
|
|
194
|
+
|
|
195
|
+
✅ Analysis complete!
|
|
196
|
+
|
|
197
|
+
🤖 Next Steps:
|
|
198
|
+
|
|
199
|
+
1. Open this project in Claude Code
|
|
200
|
+
2. Ask: "Help me migrate to OpenSaas Stack"
|
|
201
|
+
3. Follow the interactive wizard
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**After running:**
|
|
205
|
+
|
|
206
|
+
1. Open project in Claude Code
|
|
207
|
+
2. Ask: "Help me migrate to OpenSaas Stack"
|
|
208
|
+
3. Answer wizard questions about:
|
|
209
|
+
- Database configuration
|
|
210
|
+
- Authentication needs
|
|
211
|
+
- Access control patterns
|
|
212
|
+
- Admin UI preferences
|
|
213
|
+
4. Claude generates `opensaas.config.ts`
|
|
214
|
+
5. Install dependencies and run `opensaas generate`
|
|
215
|
+
|
|
216
|
+
**Manual Migration:**
|
|
217
|
+
|
|
218
|
+
Without `--with-ai`, the command provides project analysis and you create the config manually.
|
|
219
|
+
|
|
220
|
+
**See also:** [Migration Guide](https://stack.opensaas.au/docs/guides/migration)
|
|
221
|
+
|
|
146
222
|
## Usage in Projects
|
|
147
223
|
|
|
148
224
|
### Quick Start (New Projects)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAuVnC;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAkB9C"}
|
package/dist/commands/migrate.js
CHANGED
|
@@ -64,59 +64,83 @@ function ensureDir(dirPath) {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* Get marketplace source for OpenSaaS Stack plugins
|
|
68
68
|
*/
|
|
69
|
-
function
|
|
70
|
-
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
.replace(/\{\{MODEL_COUNT\}\}/g, String(modelCount))
|
|
81
|
-
.replace(/\{\{HAS_AUTH\}\}/g, String(data.hasAuth || false))
|
|
82
|
-
.replace(/\{\{MODEL_LIST\}\}/g, modelList)
|
|
83
|
-
.replace(/\{\{MODEL_DETAILS\}\}/g, modelDetails);
|
|
69
|
+
function getMarketplaceSource() {
|
|
70
|
+
// Try to detect if we're in development (local monorepo)
|
|
71
|
+
const cliPackageDir = path.dirname(path.dirname(new URL(import.meta.url).pathname));
|
|
72
|
+
const potentialMonorepoRoot = path.join(cliPackageDir, '..', '..');
|
|
73
|
+
const marketplacePath = path.join(potentialMonorepoRoot, 'claude-plugins', 'marketplace.json');
|
|
74
|
+
if (fs.existsSync(marketplacePath)) {
|
|
75
|
+
// Development mode - use local marketplace
|
|
76
|
+
return { source: 'local', path: path.join(potentialMonorepoRoot, 'claude-plugins') };
|
|
77
|
+
}
|
|
78
|
+
// Production mode - use GitHub marketplace
|
|
79
|
+
return { source: 'github', repo: 'OpenSaasAU/stack' };
|
|
84
80
|
}
|
|
85
81
|
/**
|
|
86
|
-
* Setup Claude Code integration
|
|
82
|
+
* Setup Claude Code integration with plugin
|
|
87
83
|
*/
|
|
88
84
|
async function setupClaudeCode(cwd, analysis) {
|
|
89
85
|
const claudeDir = path.join(cwd, '.claude');
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
//
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
86
|
+
// Create .claude directory
|
|
87
|
+
ensureDir(claudeDir);
|
|
88
|
+
// Write project metadata file for the plugin to read
|
|
89
|
+
const projectMetadata = {
|
|
90
|
+
projectTypes: analysis.projectTypes,
|
|
91
|
+
provider: analysis.provider || 'sqlite',
|
|
92
|
+
models: analysis.models || [],
|
|
93
|
+
hasAuth: analysis.hasAuth || false,
|
|
94
|
+
cwd: analysis.cwd,
|
|
95
|
+
};
|
|
96
|
+
fs.writeFileSync(path.join(claudeDir, 'opensaas-project.json'), JSON.stringify(projectMetadata, null, 2));
|
|
97
|
+
// Configure Claude Code marketplace and plugins in settings.json
|
|
98
|
+
const settingsPath = path.join(claudeDir, 'settings.json');
|
|
99
|
+
let settings = {};
|
|
100
|
+
// Read existing settings if they exist
|
|
101
|
+
if (fs.existsSync(settingsPath)) {
|
|
102
|
+
try {
|
|
103
|
+
settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
// If settings file is invalid, start fresh
|
|
107
|
+
settings = {};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Get the marketplace source
|
|
111
|
+
const marketplaceSource = getMarketplaceSource();
|
|
112
|
+
// Add marketplace configuration
|
|
113
|
+
if (!settings.extraKnownMarketplaces) {
|
|
114
|
+
settings.extraKnownMarketplaces = {};
|
|
115
|
+
}
|
|
116
|
+
settings.extraKnownMarketplaces['opensaas-stack-marketplace'] = {
|
|
117
|
+
source: marketplaceSource,
|
|
104
118
|
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
119
|
+
// Add enabled plugins
|
|
120
|
+
if (!settings.enabledPlugins) {
|
|
121
|
+
settings.enabledPlugins = [];
|
|
122
|
+
}
|
|
123
|
+
// Add migration plugin if not already enabled
|
|
124
|
+
const migrationPluginId = 'opensaas-migration@opensaas-stack-marketplace';
|
|
125
|
+
if (!settings.enabledPlugins.includes(migrationPluginId)) {
|
|
126
|
+
settings.enabledPlugins.push(migrationPluginId);
|
|
127
|
+
}
|
|
128
|
+
// Write settings back
|
|
129
|
+
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
|
130
|
+
// Create a simple README explaining the setup
|
|
131
|
+
const readmeContent = `# OpenSaaS Stack Migration
|
|
108
132
|
|
|
109
|
-
This project is
|
|
133
|
+
This project is set up for AI-assisted migration to OpenSaaS Stack.
|
|
110
134
|
|
|
111
135
|
## Project Summary
|
|
112
136
|
|
|
113
|
-
- **Project
|
|
114
|
-
- **Database Provider:** {
|
|
115
|
-
- **Models Detected:** {
|
|
116
|
-
|
|
117
|
-
### Models
|
|
137
|
+
- **Project Types:** ${analysis.projectTypes.join(', ')}
|
|
138
|
+
- **Database Provider:** ${analysis.provider || 'Not detected'}
|
|
139
|
+
- **Models Detected:** ${analysis.models?.length || 0}
|
|
118
140
|
|
|
119
|
-
{
|
|
141
|
+
${analysis.models && analysis.models.length > 0
|
|
142
|
+
? `\n### Models\n\n${analysis.models.map((m) => `- ${m.name} (${m.fieldCount} fields)`).join('\n')}`
|
|
143
|
+
: ''}
|
|
120
144
|
|
|
121
145
|
## Quick Start
|
|
122
146
|
|
|
@@ -128,242 +152,42 @@ Claude will guide you through:
|
|
|
128
152
|
3. Setting up authentication (optional)
|
|
129
153
|
4. Generating \`opensaas.config.ts\`
|
|
130
154
|
|
|
131
|
-
##
|
|
132
|
-
|
|
133
|
-
| Command | Description |
|
|
134
|
-
|---------|-------------|
|
|
135
|
-
| \`/analyze-schema\` | View detailed schema analysis |
|
|
136
|
-
| \`/generate-config\` | Generate the config file |
|
|
137
|
-
| \`/validate-migration\` | Validate generated config |
|
|
138
|
-
|
|
139
|
-
## Resources
|
|
140
|
-
|
|
141
|
-
- [OpenSaaS Stack Documentation](https://stack.opensaas.au/)
|
|
142
|
-
- [Migration Guide](https://stack.opensaas.au/guides/migration)
|
|
143
|
-
- [GitHub Repository](https://github.com/OpenSaasAU/stack)
|
|
144
|
-
|
|
145
|
-
## Generated By
|
|
146
|
-
|
|
147
|
-
This migration was set up using:
|
|
148
|
-
\`\`\`bash
|
|
149
|
-
npx @opensaas/stack-cli migrate --with-ai
|
|
150
|
-
\`\`\`
|
|
151
|
-
`;
|
|
152
|
-
fs.writeFileSync(path.join(claudeDir, 'README.md'), generateTemplateContent(readmeTemplate, analysis));
|
|
153
|
-
// Create migration assistant agent template
|
|
154
|
-
const agentTemplate = `You are the OpenSaaS Stack Migration Assistant, helping users migrate their existing projects to OpenSaaS Stack.
|
|
155
|
-
|
|
156
|
-
## Project Context
|
|
157
|
-
|
|
158
|
-
**Project Type:** {{PROJECT_TYPES}}
|
|
159
|
-
**Database Provider:** {{PROVIDER}}
|
|
160
|
-
**Total Models:** {{MODEL_COUNT}}
|
|
161
|
-
|
|
162
|
-
### Detected Models
|
|
163
|
-
|
|
164
|
-
{{MODEL_DETAILS}}
|
|
165
|
-
|
|
166
|
-
## Your Role
|
|
167
|
-
|
|
168
|
-
Guide the user through a complete migration to OpenSaaS Stack:
|
|
169
|
-
|
|
170
|
-
1. **Analyze** their current project structure
|
|
171
|
-
2. **Explain** what OpenSaaS Stack offers (access control, admin UI, type safety)
|
|
172
|
-
3. **Guide** them through the migration wizard
|
|
173
|
-
4. **Generate** a working \`opensaas.config.ts\`
|
|
174
|
-
5. **Validate** the generated configuration
|
|
175
|
-
6. **Provide** clear next steps
|
|
176
|
-
|
|
177
|
-
## Available MCP Tools
|
|
178
|
-
|
|
179
|
-
### Schema Analysis
|
|
180
|
-
- \`opensaas_introspect_prisma\` - Analyze Prisma schema in detail
|
|
181
|
-
- \`opensaas_introspect_keystone\` - Analyze KeystoneJS config
|
|
182
|
-
|
|
183
|
-
### Migration Wizard
|
|
184
|
-
- \`opensaas_start_migration\` - Start the interactive wizard
|
|
185
|
-
- \`opensaas_answer_migration\` - Answer wizard questions
|
|
186
|
-
|
|
187
|
-
### Documentation
|
|
188
|
-
- \`opensaas_search_migration_docs\` - Search migration documentation
|
|
189
|
-
- \`opensaas_get_example\` - Get example code patterns
|
|
190
|
-
|
|
191
|
-
### Validation
|
|
192
|
-
- \`opensaas_validate_feature\` - Validate implementation
|
|
193
|
-
|
|
194
|
-
## Conversation Guidelines
|
|
195
|
-
|
|
196
|
-
### When the user says "help me migrate" or similar:
|
|
197
|
-
|
|
198
|
-
1. **Acknowledge** their project:
|
|
199
|
-
> "I can see you have a {{PROJECT_TYPE}} project with {{MODEL_COUNT}} models. Let me help you migrate to OpenSaaS Stack!"
|
|
200
|
-
|
|
201
|
-
2. **Start the wizard** by calling:
|
|
202
|
-
\`\`\`
|
|
203
|
-
opensaas_start_migration({ projectType: "{{PROJECT_TYPE_LOWER}}" })
|
|
204
|
-
\`\`\`
|
|
205
|
-
|
|
206
|
-
3. **Present questions naturally** - don't mention session IDs or technical details to the user
|
|
207
|
-
|
|
208
|
-
4. **Explain choices** - help them understand what each option means:
|
|
209
|
-
- Access control patterns
|
|
210
|
-
- Authentication options
|
|
211
|
-
- Database configuration
|
|
212
|
-
|
|
213
|
-
5. **Show progress** - let them know how far along they are
|
|
214
|
-
|
|
215
|
-
6. **Generate the config** when complete and explain what was created
|
|
155
|
+
## What's Configured
|
|
216
156
|
|
|
217
|
-
###
|
|
157
|
+
### OpenSaaS Stack Marketplace
|
|
218
158
|
|
|
219
|
-
|
|
220
|
-
- **
|
|
221
|
-
- **
|
|
222
|
-
- **Type safety** - Full TypeScript support
|
|
223
|
-
- **Prisma integration** - Uses familiar ORM
|
|
224
|
-
- **Plugin system** - Easy to extend
|
|
159
|
+
The marketplace provides access to official OpenSaaS plugins:
|
|
160
|
+
- **opensaas-migration**: Migration assistant for converting existing projects
|
|
161
|
+
- **opensaas-stack**: Development tools for building with OpenSaaS Stack
|
|
225
162
|
|
|
226
|
-
###
|
|
163
|
+
### OpenSaaS Migration Plugin
|
|
227
164
|
|
|
228
|
-
|
|
229
|
-
-
|
|
230
|
-
-
|
|
165
|
+
The migration assistant plugin provides:
|
|
166
|
+
- **Migration Assistant Agent**: Contextual help throughout the migration
|
|
167
|
+
- **Slash Commands**: \`/analyze-schema\`, \`/generate-config\`, \`/validate-migration\`
|
|
168
|
+
- **Migration Skill**: Expert knowledge about migration patterns
|
|
231
169
|
|
|
232
|
-
###
|
|
170
|
+
### MCP Server
|
|
233
171
|
|
|
234
|
-
|
|
235
|
-
-
|
|
236
|
-
-
|
|
237
|
-
-
|
|
172
|
+
The migration plugin includes MCP server integration with tools for:
|
|
173
|
+
- Schema analysis
|
|
174
|
+
- Interactive migration wizard
|
|
175
|
+
- Documentation search
|
|
176
|
+
- Code generation
|
|
238
177
|
|
|
239
|
-
|
|
178
|
+
When you open this project in Claude Code, the MCP server will be automatically configured through the plugin.
|
|
240
179
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
**You:** I can see you have a {{PROJECT_TYPE}} project with {{MODEL_COUNT}} models. OpenSaaS Stack will give you:
|
|
244
|
-
|
|
245
|
-
- Automatic admin UI for managing your data
|
|
246
|
-
- Built-in access control to secure your API
|
|
247
|
-
- Type-safe database operations
|
|
248
|
-
|
|
249
|
-
Let me start the migration wizard to configure your project...
|
|
250
|
-
|
|
251
|
-
[Call opensaas_start_migration]
|
|
252
|
-
|
|
253
|
-
**User:** [answers questions]
|
|
254
|
-
|
|
255
|
-
**You:** [Continue through wizard, explain each choice, generate final config]
|
|
256
|
-
|
|
257
|
-
## Error Handling
|
|
258
|
-
|
|
259
|
-
If something goes wrong:
|
|
260
|
-
1. Explain what happened in simple terms
|
|
261
|
-
2. Suggest alternatives or manual steps
|
|
262
|
-
3. Link to documentation for more help
|
|
263
|
-
|
|
264
|
-
## After Migration
|
|
265
|
-
|
|
266
|
-
Once the config is generated, guide them through:
|
|
267
|
-
1. Installing dependencies
|
|
268
|
-
2. Running \`opensaas generate\`
|
|
269
|
-
3. Running \`prisma db push\`
|
|
270
|
-
4. Starting their dev server
|
|
271
|
-
5. Visiting the admin UI
|
|
272
|
-
`;
|
|
273
|
-
fs.writeFileSync(path.join(agentsDir, 'migration-assistant.md'), generateTemplateContent(agentTemplate, analysis));
|
|
274
|
-
// Create analyze-schema command
|
|
275
|
-
const analyzeSchemaTemplate = `Analyze the current project schema and provide a detailed breakdown.
|
|
276
|
-
|
|
277
|
-
## Instructions
|
|
278
|
-
|
|
279
|
-
1. Use \`opensaas_introspect_prisma\` or \`opensaas_introspect_keystone\` based on project type
|
|
280
|
-
2. Present the results in a clear, organized format
|
|
281
|
-
3. Highlight:
|
|
282
|
-
- All models and their fields
|
|
283
|
-
- Relationships between models
|
|
284
|
-
- Potential access control patterns
|
|
285
|
-
- Any issues or warnings
|
|
286
|
-
|
|
287
|
-
## Output Format
|
|
288
|
-
|
|
289
|
-
Present like this:
|
|
290
|
-
|
|
291
|
-
### Models Summary
|
|
292
|
-
|
|
293
|
-
| Model | Fields | Has Relations | Suggested Access |
|
|
294
|
-
|-------|--------|---------------|------------------|
|
|
295
|
-
| ... | ... | ... | ... |
|
|
296
|
-
|
|
297
|
-
### Detailed Analysis
|
|
298
|
-
|
|
299
|
-
[For each model, show fields and relationships]
|
|
300
|
-
|
|
301
|
-
### Recommendations
|
|
302
|
-
|
|
303
|
-
[Based on the schema, suggest access control patterns]
|
|
304
|
-
`;
|
|
305
|
-
fs.writeFileSync(path.join(commandsDir, 'analyze-schema.md'), analyzeSchemaTemplate);
|
|
306
|
-
// Create generate-config command
|
|
307
|
-
const generateConfigTemplate = `Generate the opensaas.config.ts file for this project.
|
|
308
|
-
|
|
309
|
-
## Instructions
|
|
310
|
-
|
|
311
|
-
1. If migration wizard hasn't been started, start it:
|
|
312
|
-
\`\`\`
|
|
313
|
-
opensaas_start_migration({ projectType: "{{PROJECT_TYPE_LOWER}}" })
|
|
314
|
-
\`\`\`
|
|
315
|
-
|
|
316
|
-
2. Guide the user through any remaining questions
|
|
317
|
-
|
|
318
|
-
3. When complete, display:
|
|
319
|
-
- The generated config file
|
|
320
|
-
- Dependencies to install
|
|
321
|
-
- Next steps to run
|
|
322
|
-
|
|
323
|
-
4. Offer to explain any part of the generated config
|
|
324
|
-
|
|
325
|
-
## Quick Mode
|
|
326
|
-
|
|
327
|
-
If the user wants defaults, use these answers:
|
|
328
|
-
- preserve_database: true
|
|
329
|
-
- db_provider: {{PROVIDER}}
|
|
330
|
-
- enable_auth: {{HAS_AUTH}}
|
|
331
|
-
- default_access: "public-read-auth-write"
|
|
332
|
-
- admin_base_path: "/admin"
|
|
333
|
-
`;
|
|
334
|
-
fs.writeFileSync(path.join(commandsDir, 'generate-config.md'), generateTemplateContent(generateConfigTemplate, analysis));
|
|
335
|
-
// Create validate-migration command
|
|
336
|
-
const validateMigrationTemplate = `Validate the generated opensaas.config.ts file.
|
|
337
|
-
|
|
338
|
-
## Instructions
|
|
339
|
-
|
|
340
|
-
1. Check if opensaas.config.ts exists in the project root
|
|
341
|
-
|
|
342
|
-
2. If it exists, verify:
|
|
343
|
-
- Syntax is valid TypeScript
|
|
344
|
-
- All imports are correct
|
|
345
|
-
- Database config is complete
|
|
346
|
-
- Lists match original schema
|
|
347
|
-
|
|
348
|
-
3. Try running:
|
|
349
|
-
\`\`\`bash
|
|
350
|
-
npx @opensaas/stack-cli generate
|
|
351
|
-
\`\`\`
|
|
352
|
-
|
|
353
|
-
4. Report any errors and suggest fixes
|
|
180
|
+
## Resources
|
|
354
181
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
- \`pnpm dev\`
|
|
182
|
+
- [OpenSaaS Stack Documentation](https://stack.opensaas.au/)
|
|
183
|
+
- [Migration Guide](https://stack.opensaas.au/guides/migration)
|
|
184
|
+
- [GitHub Repository](https://github.com/OpenSaasAU/stack)
|
|
359
185
|
|
|
360
|
-
|
|
186
|
+
---
|
|
361
187
|
|
|
362
|
-
|
|
363
|
-
- Database URL not set → remind about .env file
|
|
364
|
-
- Type errors → suggest specific fixes
|
|
188
|
+
*Generated by \`npx @opensaas/stack-cli migrate --with-ai\`*
|
|
365
189
|
`;
|
|
366
|
-
fs.writeFileSync(path.join(
|
|
190
|
+
fs.writeFileSync(path.join(claudeDir, 'README.md'), readmeContent);
|
|
367
191
|
}
|
|
368
192
|
/**
|
|
369
193
|
* Main migrate command
|
|
@@ -402,7 +226,7 @@ async function migrateCommand(options) {
|
|
|
402
226
|
analysis.models = prismaAnalysis.models;
|
|
403
227
|
analysis.provider = prismaAnalysis.provider;
|
|
404
228
|
}
|
|
405
|
-
catch
|
|
229
|
+
catch {
|
|
406
230
|
// Prisma analysis failed, continue without it
|
|
407
231
|
}
|
|
408
232
|
}
|
|
@@ -425,8 +249,10 @@ async function migrateCommand(options) {
|
|
|
425
249
|
await setupClaudeCode(cwd, analysis);
|
|
426
250
|
claudeSpinner.succeed(chalk.green('Claude Code ready'));
|
|
427
251
|
console.log(chalk.dim(' ├─ Created .claude directory'));
|
|
428
|
-
console.log(chalk.dim(' ├─
|
|
429
|
-
console.log(chalk.dim('
|
|
252
|
+
console.log(chalk.dim(' ├─ Added opensaas-stack-marketplace'));
|
|
253
|
+
console.log(chalk.dim(' ├─ Enabled opensaas-migration plugin (with MCP server)'));
|
|
254
|
+
console.log(chalk.dim(' ├─ Configured .claude/settings.json'));
|
|
255
|
+
console.log(chalk.dim(' └─ Wrote opensaas-project.json (project metadata)'));
|
|
430
256
|
}
|
|
431
257
|
catch (error) {
|
|
432
258
|
claudeSpinner.fail(chalk.red('Failed to setup Claude Code'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,KAAK,CAAA;AAQrB;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAkB,EAAE,CAAA;IAE/B,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAA;IAClE,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,CAAC;IAED,uBAAuB;IACvB,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAA;IAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IACrD,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxB,CAAC;IAED,oBAAoB;IACpB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACtD,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAA;QACjE,IAAI,GAAG,CAAC,YAAY,EAAE,IAAI,IAAI,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,GAAW;IAI5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAEnD,iBAAiB;IACjB,MAAM,UAAU,GAAG,8BAA8B,CAAA;IACjD,MAAM,MAAM,GAAgD,EAAE,CAAA;IAC9D,IAAI,KAAK,CAAA;IAET,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,UAAU,GAAG,IAAI;aACpB,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CACxF,CAAC,MAAM,CAAA;QACV,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,mBAAmB;IACnB,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensaas/stack-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "CLI tools for OpenSaas Stack",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
"bin": {
|
|
19
19
|
"opensaas": "./bin/opensaas.js"
|
|
20
20
|
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"bin",
|
|
24
|
+
"plugin"
|
|
25
|
+
],
|
|
21
26
|
"keywords": [
|
|
22
27
|
"opensaas",
|
|
23
28
|
"cli",
|
|
@@ -46,7 +51,7 @@
|
|
|
46
51
|
"ora": "^9.0.0",
|
|
47
52
|
"prompts": "^2.4.2",
|
|
48
53
|
"zod": "^4.1.13",
|
|
49
|
-
"@opensaas/stack-core": "0.
|
|
54
|
+
"@opensaas/stack-core": "0.6.1"
|
|
50
55
|
},
|
|
51
56
|
"devDependencies": {
|
|
52
57
|
"@types/fs-extra": "^11.0.4",
|
package/.turbo/turbo-build.log
DELETED