@thinksoftai/cli 1.0.3 → 1.0.5
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/commands/create.js
CHANGED
|
@@ -45,6 +45,7 @@ const inquirer_1 = __importDefault(require("inquirer"));
|
|
|
45
45
|
const api = __importStar(require("../utils/api"));
|
|
46
46
|
const config = __importStar(require("../utils/config"));
|
|
47
47
|
const logger = __importStar(require("../utils/logger"));
|
|
48
|
+
const aiContext_1 = require("../utils/aiContext");
|
|
48
49
|
async function create(description, options) {
|
|
49
50
|
if (!config.isLoggedIn()) {
|
|
50
51
|
logger.error('Not logged in');
|
|
@@ -129,10 +130,27 @@ async function create(description, options) {
|
|
|
129
130
|
});
|
|
130
131
|
logger.success('Project initialized (thinksoft.json created)');
|
|
131
132
|
}
|
|
133
|
+
// Generate AI context files
|
|
134
|
+
const { files } = (0, aiContext_1.generateAIContextFiles)({
|
|
135
|
+
appId,
|
|
136
|
+
name: app.name,
|
|
137
|
+
description: app.description,
|
|
138
|
+
tables: app.tables
|
|
139
|
+
});
|
|
140
|
+
logger.success(`AI context files created (${files.join(', ')})`);
|
|
141
|
+
logger.info('Tip: Open CONTEXT.md in Cursor/Claude for AI-assisted development');
|
|
142
|
+
// Get first table name for SDK example
|
|
143
|
+
const exampleTable = app.tables?.[0]?.name?.toLowerCase().replace(/\s+/g, '_') || 'items';
|
|
132
144
|
logger.newLine();
|
|
133
145
|
logger.info('Next steps:');
|
|
134
|
-
logger.log(' 1. Create your frontend
|
|
135
|
-
logger.log(' 2.
|
|
136
|
-
logger.log(' 3.
|
|
146
|
+
logger.log(' 1. Create your frontend (React, Vue, Next.js, etc.)');
|
|
147
|
+
logger.log(' 2. Install SDK: npm install @thinksoftai/sdk');
|
|
148
|
+
logger.log(' 3. Use in your code:');
|
|
149
|
+
logger.newLine();
|
|
150
|
+
logger.log(` import { ThinkSoft } from '@thinksoftai/sdk'`);
|
|
151
|
+
logger.log(` const client = new ThinkSoft({ appId: '${appId}' })`);
|
|
152
|
+
logger.log(` const { data } = await client.${exampleTable}.list()`);
|
|
153
|
+
logger.newLine();
|
|
154
|
+
logger.log(' 4. Build & deploy: npm run build && thinksoft deploy');
|
|
137
155
|
}
|
|
138
156
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Context Generator - Creates files for AI coding assistants
|
|
3
|
+
*/
|
|
4
|
+
interface AppInfo {
|
|
5
|
+
appId: string;
|
|
6
|
+
name: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
tables?: Array<{
|
|
9
|
+
name: string;
|
|
10
|
+
fields?: Array<{
|
|
11
|
+
name: string;
|
|
12
|
+
type: string;
|
|
13
|
+
}>;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export declare function generateAIContextFiles(app: AppInfo): {
|
|
17
|
+
files: string[];
|
|
18
|
+
};
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AI Context Generator - Creates files for AI coding assistants
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.generateAIContextFiles = generateAIContextFiles;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
function generateAIContextFiles(app) {
|
|
43
|
+
const generatedFiles = [];
|
|
44
|
+
const cwd = process.cwd();
|
|
45
|
+
// Generate table info
|
|
46
|
+
const tableNames = app.tables?.map(t => t.name) || [];
|
|
47
|
+
const tableSlug = (name) => name.toLowerCase().replace(/\s+/g, '_');
|
|
48
|
+
// 1. Generate CONTEXT.md
|
|
49
|
+
const contextMd = `# ThinkSoft App: ${app.name}
|
|
50
|
+
|
|
51
|
+
## App Details
|
|
52
|
+
- **App ID:** ${app.appId}
|
|
53
|
+
- **Description:** ${app.description || 'N/A'}
|
|
54
|
+
- **Admin UI:** https://thinksoftai.com/app/${app.appId}
|
|
55
|
+
- **Deploy URL:** https://${app.appId.toLowerCase()}.thinksoftai.com
|
|
56
|
+
- **API Base:** https://api.thinksoftai.com/v1/apps/${app.appId}
|
|
57
|
+
|
|
58
|
+
## Tables/Schema
|
|
59
|
+
${tableNames.map(name => `- **${name}** → \`client.${tableSlug(name)}\``).join('\n')}
|
|
60
|
+
|
|
61
|
+
## SDK Installation
|
|
62
|
+
\`\`\`bash
|
|
63
|
+
npm install @thinksoftai/sdk
|
|
64
|
+
\`\`\`
|
|
65
|
+
|
|
66
|
+
## SDK Usage
|
|
67
|
+
\`\`\`typescript
|
|
68
|
+
import { ThinkSoft } from '@thinksoftai/sdk'
|
|
69
|
+
|
|
70
|
+
const client = new ThinkSoft({ appId: '${app.appId}' })
|
|
71
|
+
|
|
72
|
+
// List all records
|
|
73
|
+
const { data } = await client.${tableSlug(tableNames[0] || 'items')}.list()
|
|
74
|
+
|
|
75
|
+
// Create a record
|
|
76
|
+
await client.${tableSlug(tableNames[0] || 'items')}.create({
|
|
77
|
+
// your data here
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
// Get single record
|
|
81
|
+
await client.${tableSlug(tableNames[0] || 'items')}.get(id)
|
|
82
|
+
|
|
83
|
+
// Update a record
|
|
84
|
+
await client.${tableSlug(tableNames[0] || 'items')}.update(id, {
|
|
85
|
+
// updated data
|
|
86
|
+
})
|
|
87
|
+
|
|
88
|
+
// Delete a record
|
|
89
|
+
await client.${tableSlug(tableNames[0] || 'items')}.delete(id)
|
|
90
|
+
\`\`\`
|
|
91
|
+
|
|
92
|
+
## Available Tables & Operations
|
|
93
|
+
${tableNames.map(name => `
|
|
94
|
+
### ${name}
|
|
95
|
+
\`\`\`typescript
|
|
96
|
+
client.${tableSlug(name)}.list() // Get all ${name.toLowerCase()}
|
|
97
|
+
client.${tableSlug(name)}.create({}) // Create new ${name.toLowerCase()}
|
|
98
|
+
client.${tableSlug(name)}.get(id) // Get by ID
|
|
99
|
+
client.${tableSlug(name)}.update(id, {}) // Update by ID
|
|
100
|
+
client.${tableSlug(name)}.delete(id) // Delete by ID
|
|
101
|
+
\`\`\`
|
|
102
|
+
`).join('')}
|
|
103
|
+
|
|
104
|
+
## Build & Deploy
|
|
105
|
+
\`\`\`bash
|
|
106
|
+
npm run build
|
|
107
|
+
thinksoft deploy
|
|
108
|
+
\`\`\`
|
|
109
|
+
|
|
110
|
+
## Useful Commands
|
|
111
|
+
\`\`\`bash
|
|
112
|
+
thinksoft apps # List your apps
|
|
113
|
+
thinksoft open # Open app in browser
|
|
114
|
+
thinksoft whoami # Check logged in user
|
|
115
|
+
\`\`\`
|
|
116
|
+
`;
|
|
117
|
+
fs.writeFileSync(path.join(cwd, 'CONTEXT.md'), contextMd);
|
|
118
|
+
generatedFiles.push('CONTEXT.md');
|
|
119
|
+
// 2. Generate .cursorrules
|
|
120
|
+
const cursorrules = `# ThinkSoft App: ${app.name}
|
|
121
|
+
# App ID: ${app.appId}
|
|
122
|
+
|
|
123
|
+
You are helping build a frontend for a ThinkSoft backend application.
|
|
124
|
+
|
|
125
|
+
## Backend Info
|
|
126
|
+
- This app uses ThinkSoft as the backend (database, API, auth, hosting)
|
|
127
|
+
- App ID: ${app.appId}
|
|
128
|
+
- Tables: ${tableNames.join(', ')}
|
|
129
|
+
|
|
130
|
+
## SDK Usage
|
|
131
|
+
Always use @thinksoftai/sdk for data operations:
|
|
132
|
+
|
|
133
|
+
\`\`\`typescript
|
|
134
|
+
import { ThinkSoft } from '@thinksoftai/sdk'
|
|
135
|
+
const client = new ThinkSoft({ appId: '${app.appId}' })
|
|
136
|
+
\`\`\`
|
|
137
|
+
|
|
138
|
+
## Available Data Operations
|
|
139
|
+
${tableNames.map(name => `- client.${tableSlug(name)}.list() / .create() / .get(id) / .update(id, data) / .delete(id)`).join('\n')}
|
|
140
|
+
|
|
141
|
+
## Rules
|
|
142
|
+
1. Use the ThinkSoft SDK for all CRUD operations
|
|
143
|
+
2. Do not create mock data - use real API calls
|
|
144
|
+
3. Handle loading and error states
|
|
145
|
+
4. Use TypeScript for type safety
|
|
146
|
+
5. Build output should go to 'dist' folder
|
|
147
|
+
|
|
148
|
+
## Deploy
|
|
149
|
+
After building, deploy with: thinksoft deploy
|
|
150
|
+
`;
|
|
151
|
+
fs.writeFileSync(path.join(cwd, '.cursorrules'), cursorrules);
|
|
152
|
+
generatedFiles.push('.cursorrules');
|
|
153
|
+
// 3. Generate thinksoft-prompt.txt
|
|
154
|
+
const promptTxt = `I'm building a frontend for a ThinkSoft backend application.
|
|
155
|
+
|
|
156
|
+
APP DETAILS:
|
|
157
|
+
- Name: ${app.name}
|
|
158
|
+
- App ID: ${app.appId}
|
|
159
|
+
- Description: ${app.description || 'N/A'}
|
|
160
|
+
|
|
161
|
+
AVAILABLE TABLES:
|
|
162
|
+
${tableNames.map(name => `- ${name} (use client.${tableSlug(name)})`).join('\n')}
|
|
163
|
+
|
|
164
|
+
SDK SETUP:
|
|
165
|
+
\`\`\`
|
|
166
|
+
npm install @thinksoftai/sdk
|
|
167
|
+
|
|
168
|
+
import { ThinkSoft } from '@thinksoftai/sdk'
|
|
169
|
+
const client = new ThinkSoft({ appId: '${app.appId}' })
|
|
170
|
+
\`\`\`
|
|
171
|
+
|
|
172
|
+
CRUD OPERATIONS:
|
|
173
|
+
${tableNames.map(name => `
|
|
174
|
+
${name}:
|
|
175
|
+
- client.${tableSlug(name)}.list() - Get all
|
|
176
|
+
- client.${tableSlug(name)}.create({ ... }) - Create new
|
|
177
|
+
- client.${tableSlug(name)}.get(id) - Get by ID
|
|
178
|
+
- client.${tableSlug(name)}.update(id, { ... }) - Update
|
|
179
|
+
- client.${tableSlug(name)}.delete(id) - Delete
|
|
180
|
+
`).join('')}
|
|
181
|
+
|
|
182
|
+
DEPLOYMENT:
|
|
183
|
+
After building (npm run build), deploy with: thinksoft deploy
|
|
184
|
+
The app will be live at: https://${app.appId.toLowerCase()}.thinksoftai.com
|
|
185
|
+
|
|
186
|
+
Please help me build a React/Vue/Next.js frontend for this application.
|
|
187
|
+
`;
|
|
188
|
+
fs.writeFileSync(path.join(cwd, 'thinksoft-prompt.txt'), promptTxt);
|
|
189
|
+
generatedFiles.push('thinksoft-prompt.txt');
|
|
190
|
+
return { files: generatedFiles };
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=aiContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiContext.js","sourceRoot":"","sources":["../../src/utils/aiContext.ts"],"names":[],"mappings":"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"}
|