@solidnumber/cli 1.3.0 → 1.4.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 +19 -3
- package/dist/commands/analytics.d.ts +8 -0
- package/dist/commands/analytics.d.ts.map +1 -0
- package/dist/commands/analytics.js +136 -0
- package/dist/commands/analytics.js.map +1 -0
- package/dist/commands/context.d.ts +17 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +476 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/design.d.ts +23 -0
- package/dist/commands/design.d.ts.map +1 -0
- package/dist/commands/design.js +293 -0
- package/dist/commands/design.js.map +1 -0
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +16 -0
- package/dist/commands/docs.js.map +1 -1
- package/dist/commands/explore.d.ts +5 -5
- package/dist/commands/explore.d.ts.map +1 -1
- package/dist/commands/explore.js +18 -66
- package/dist/commands/explore.js.map +1 -1
- package/dist/commands/insights.d.ts +9 -0
- package/dist/commands/insights.d.ts.map +1 -0
- package/dist/commands/insights.js +175 -0
- package/dist/commands/insights.js.map +1 -0
- package/dist/commands/llms.d.ts +12 -0
- package/dist/commands/llms.d.ts.map +1 -0
- package/dist/commands/llms.js +227 -0
- package/dist/commands/llms.js.map +1 -0
- package/dist/commands/payment.d.ts +27 -0
- package/dist/commands/payment.d.ts.map +1 -0
- package/dist/commands/payment.js +305 -0
- package/dist/commands/payment.js.map +1 -0
- package/dist/commands/seo.d.ts +8 -0
- package/dist/commands/seo.d.ts.map +1 -0
- package/dist/commands/seo.js +220 -0
- package/dist/commands/seo.js.map +1 -0
- package/dist/index.js +37 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/platform-docs/ai.txt +3 -0
- package/platform-docs/llms.txt +1 -1
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Context command for Solid CLI
|
|
4
|
+
*
|
|
5
|
+
* Generates a complete AI context package (SOLID-CONTEXT.md) that any AI
|
|
6
|
+
* (Claude, GPT, Cursor, Windsurf, etc.) can ingest to understand
|
|
7
|
+
* the Solid# platform and this specific company.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* solid context # Print to stdout
|
|
11
|
+
* solid context > SOLID-CONTEXT.md # Save to file
|
|
12
|
+
* solid context --clipboard # Copy to clipboard
|
|
13
|
+
* solid context --save # Save to ./SOLID-CONTEXT.md
|
|
14
|
+
* solid context --claude # Save to ./.claude/CLAUDE.md
|
|
15
|
+
*/
|
|
16
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
19
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
20
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
21
|
+
}
|
|
22
|
+
Object.defineProperty(o, k2, desc);
|
|
23
|
+
}) : (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
o[k2] = m[k];
|
|
26
|
+
}));
|
|
27
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
28
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
29
|
+
}) : function(o, v) {
|
|
30
|
+
o["default"] = v;
|
|
31
|
+
});
|
|
32
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
33
|
+
var ownKeys = function(o) {
|
|
34
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
35
|
+
var ar = [];
|
|
36
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
37
|
+
return ar;
|
|
38
|
+
};
|
|
39
|
+
return ownKeys(o);
|
|
40
|
+
};
|
|
41
|
+
return function (mod) {
|
|
42
|
+
if (mod && mod.__esModule) return mod;
|
|
43
|
+
var result = {};
|
|
44
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
45
|
+
__setModuleDefault(result, mod);
|
|
46
|
+
return result;
|
|
47
|
+
};
|
|
48
|
+
})();
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.contextCommand = void 0;
|
|
54
|
+
const commander_1 = require("commander");
|
|
55
|
+
const ora_1 = __importDefault(require("ora"));
|
|
56
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
57
|
+
const fs = __importStar(require("fs"));
|
|
58
|
+
const path = __importStar(require("path"));
|
|
59
|
+
const config_1 = require("../lib/config");
|
|
60
|
+
const api_client_1 = require("../lib/api-client");
|
|
61
|
+
const ui_1 = require("../lib/ui");
|
|
62
|
+
exports.contextCommand = new commander_1.Command('context')
|
|
63
|
+
.description('Generate AI context package for this company')
|
|
64
|
+
.option('--save', 'Save to ./SOLID-CONTEXT.md')
|
|
65
|
+
.option('--claude', 'Save to ./.claude/CLAUDE.md (for Claude Code)')
|
|
66
|
+
.option('--cursor', 'Save to ./.cursorrules (for Cursor)')
|
|
67
|
+
.option('--json', 'Output as JSON instead of markdown')
|
|
68
|
+
.option('--minimal', 'Compact version (no command reference)')
|
|
69
|
+
.option('--watch', 'Auto-refresh context file when data changes')
|
|
70
|
+
.option('--interval <seconds>', 'Watch interval in seconds (default: 30)', '30')
|
|
71
|
+
.action(async (options) => {
|
|
72
|
+
if (!config_1.config.isLoggedIn()) {
|
|
73
|
+
console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
const companyId = config_1.config.companyId;
|
|
77
|
+
if (!companyId) {
|
|
78
|
+
console.error(chalk_1.default.red('No company selected. Run `solid auth login` first.'));
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
const isSaving = options.save || options.claude || options.cursor;
|
|
82
|
+
const spinner = isSaving ? (0, ora_1.default)('Building AI context package...').start() : null;
|
|
83
|
+
// Gather all data in parallel
|
|
84
|
+
const [companyResult, kbResult, pagesResult, servicesResult, productsResult, agentsResult] = await Promise.allSettled([
|
|
85
|
+
api_client_1.apiClient.companyInfo(),
|
|
86
|
+
api_client_1.apiClient.kbSearch('', 100),
|
|
87
|
+
api_client_1.apiClient.pagesList(),
|
|
88
|
+
api_client_1.apiClient.servicesList(),
|
|
89
|
+
api_client_1.apiClient.productsList(),
|
|
90
|
+
api_client_1.apiClient.agentsList(),
|
|
91
|
+
]);
|
|
92
|
+
// Extract data safely
|
|
93
|
+
const company = companyResult.status === 'fulfilled'
|
|
94
|
+
? companyResult.value.data.company
|
|
95
|
+
: null;
|
|
96
|
+
const kbEntries = kbResult.status === 'fulfilled'
|
|
97
|
+
? (kbResult.value.data.results || [])
|
|
98
|
+
: [];
|
|
99
|
+
const pages = pagesResult.status === 'fulfilled'
|
|
100
|
+
? (pagesResult.value.data.pages || [])
|
|
101
|
+
: [];
|
|
102
|
+
const services = servicesResult.status === 'fulfilled'
|
|
103
|
+
? (servicesResult.value.data.items || [])
|
|
104
|
+
: [];
|
|
105
|
+
const products = productsResult.status === 'fulfilled'
|
|
106
|
+
? (productsResult.value.data.items || [])
|
|
107
|
+
: [];
|
|
108
|
+
const agents = agentsResult.status === 'fulfilled'
|
|
109
|
+
? (agentsResult.value.data.agents || [])
|
|
110
|
+
: [];
|
|
111
|
+
if (!company) {
|
|
112
|
+
if (spinner)
|
|
113
|
+
spinner.fail(chalk_1.default.red('Failed to load company data'));
|
|
114
|
+
else
|
|
115
|
+
console.error(chalk_1.default.red('Failed to load company data'));
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
// Build the context document
|
|
119
|
+
const doc = options.json
|
|
120
|
+
? buildJsonContext(company, companyId, kbEntries, pages, services, products, agents)
|
|
121
|
+
: buildMarkdownContext(company, companyId, kbEntries, pages, services, products, agents, !!options.minimal);
|
|
122
|
+
// Determine output file path
|
|
123
|
+
let outputPath = null;
|
|
124
|
+
let outputMode = 'stdout';
|
|
125
|
+
if (options.claude) {
|
|
126
|
+
const claudeDir = path.resolve('.claude');
|
|
127
|
+
if (!fs.existsSync(claudeDir)) {
|
|
128
|
+
fs.mkdirSync(claudeDir, { recursive: true });
|
|
129
|
+
}
|
|
130
|
+
outputPath = path.join(claudeDir, 'CLAUDE.md');
|
|
131
|
+
outputMode = 'claude';
|
|
132
|
+
}
|
|
133
|
+
else if (options.cursor) {
|
|
134
|
+
outputPath = path.resolve('.cursorrules');
|
|
135
|
+
outputMode = 'cursor';
|
|
136
|
+
}
|
|
137
|
+
else if (options.save || options.watch) {
|
|
138
|
+
outputPath = path.resolve('SOLID-CONTEXT.md');
|
|
139
|
+
outputMode = 'file';
|
|
140
|
+
}
|
|
141
|
+
// Write output
|
|
142
|
+
if (outputPath) {
|
|
143
|
+
fs.writeFileSync(outputPath, doc);
|
|
144
|
+
spinner?.succeed(chalk_1.default.green(`Saved to ${outputPath}`));
|
|
145
|
+
printNextSteps(outputMode, company.name);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
process.stdout.write(doc);
|
|
149
|
+
}
|
|
150
|
+
// Watch mode — re-generate on interval
|
|
151
|
+
if (options.watch && outputPath) {
|
|
152
|
+
const intervalSec = Math.max(10, parseInt(options.interval) || 30);
|
|
153
|
+
let lastHash = simpleHash(doc);
|
|
154
|
+
console.log(chalk_1.default.dim(` Watching for changes every ${intervalSec}s... (Ctrl+C to stop)`));
|
|
155
|
+
console.log('');
|
|
156
|
+
const tick = async () => {
|
|
157
|
+
try {
|
|
158
|
+
const [compRes, kbRes, pgRes, svcRes, prodRes, agRes] = await Promise.allSettled([
|
|
159
|
+
api_client_1.apiClient.companyInfo(),
|
|
160
|
+
api_client_1.apiClient.kbSearch('', 100),
|
|
161
|
+
api_client_1.apiClient.pagesList(),
|
|
162
|
+
api_client_1.apiClient.servicesList(),
|
|
163
|
+
api_client_1.apiClient.productsList(),
|
|
164
|
+
api_client_1.apiClient.agentsList(),
|
|
165
|
+
]);
|
|
166
|
+
const co = compRes.status === 'fulfilled' ? compRes.value.data.company : null;
|
|
167
|
+
if (!co)
|
|
168
|
+
return;
|
|
169
|
+
const freshDoc = options.json
|
|
170
|
+
? buildJsonContext(co, companyId, kbRes.status === 'fulfilled' ? (kbRes.value.data.results || []) : [], pgRes.status === 'fulfilled' ? (pgRes.value.data.pages || []) : [], svcRes.status === 'fulfilled' ? (svcRes.value.data.items || []) : [], prodRes.status === 'fulfilled' ? (prodRes.value.data.items || []) : [], agRes.status === 'fulfilled' ? (agRes.value.data.agents || []) : [])
|
|
171
|
+
: buildMarkdownContext(co, companyId, kbRes.status === 'fulfilled' ? (kbRes.value.data.results || []) : [], pgRes.status === 'fulfilled' ? (pgRes.value.data.pages || []) : [], svcRes.status === 'fulfilled' ? (svcRes.value.data.items || []) : [], prodRes.status === 'fulfilled' ? (prodRes.value.data.items || []) : [], agRes.status === 'fulfilled' ? (agRes.value.data.agents || []) : [], !!options.minimal);
|
|
172
|
+
const newHash = simpleHash(freshDoc);
|
|
173
|
+
if (newHash !== lastHash) {
|
|
174
|
+
fs.writeFileSync(outputPath, freshDoc);
|
|
175
|
+
lastHash = newHash;
|
|
176
|
+
const time = new Date().toLocaleTimeString();
|
|
177
|
+
console.log(chalk_1.default.green(` [${time}] Context updated — changes detected`));
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// Silently skip failed polls
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
setInterval(tick, intervalSec * 1000);
|
|
185
|
+
// Keep process alive
|
|
186
|
+
await new Promise(() => { });
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
function printNextSteps(mode, companyName) {
|
|
190
|
+
console.log('');
|
|
191
|
+
const lines = [
|
|
192
|
+
`${chalk_1.default.dim('Company:')} ${companyName}`,
|
|
193
|
+
`${chalk_1.default.dim('Updated:')} ${new Date().toISOString().split('T')[0]}`,
|
|
194
|
+
'',
|
|
195
|
+
];
|
|
196
|
+
if (mode === 'claude') {
|
|
197
|
+
lines.push(`${chalk_1.default.dim('Claude Code will auto-read .claude/CLAUDE.md')}`);
|
|
198
|
+
lines.push(`${chalk_1.default.dim('Run')} ${chalk_1.default.cyan('solid context --claude')} ${chalk_1.default.dim('again to refresh')}`);
|
|
199
|
+
}
|
|
200
|
+
else if (mode === 'cursor') {
|
|
201
|
+
lines.push(`${chalk_1.default.dim('Cursor will auto-read .cursorrules')}`);
|
|
202
|
+
lines.push(`${chalk_1.default.dim('Run')} ${chalk_1.default.cyan('solid context --cursor')} ${chalk_1.default.dim('again to refresh')}`);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
lines.push(`${chalk_1.default.dim('Paste into any AI project context, or:')}`);
|
|
206
|
+
lines.push(` ${chalk_1.default.cyan('solid context --claude')} ${chalk_1.default.dim('→ .claude/CLAUDE.md')}`);
|
|
207
|
+
lines.push(` ${chalk_1.default.cyan('solid context --cursor')} ${chalk_1.default.dim('→ .cursorrules')}`);
|
|
208
|
+
}
|
|
209
|
+
console.log(ui_1.ui.successBox('AI Context Ready', lines));
|
|
210
|
+
console.log('');
|
|
211
|
+
}
|
|
212
|
+
function buildJsonContext(company, companyId, kb, pages, services, products, agents) {
|
|
213
|
+
return JSON.stringify({
|
|
214
|
+
platform: 'solid',
|
|
215
|
+
version: '1.0',
|
|
216
|
+
generated_at: new Date().toISOString(),
|
|
217
|
+
company: {
|
|
218
|
+
id: companyId,
|
|
219
|
+
name: company.name,
|
|
220
|
+
slug: company.slug,
|
|
221
|
+
industry: company.industry,
|
|
222
|
+
tier: company.tier,
|
|
223
|
+
phone: company.contact_phone,
|
|
224
|
+
email: company.contact_email,
|
|
225
|
+
address: company.location,
|
|
226
|
+
hours: company.business_hours,
|
|
227
|
+
},
|
|
228
|
+
knowledge_base: kb.map((e) => ({ title: e.title, category: e.category, content: e.content })),
|
|
229
|
+
pages: pages.map((p) => ({ title: p.title, slug: p.slug, published: p.is_published })),
|
|
230
|
+
services: services.map((s) => ({ title: s.title, slug: s.slug, price: s.price, duration: s.duration_minutes })),
|
|
231
|
+
products: products.map((p) => ({ name: p.name, category: p.category, price: p.price })),
|
|
232
|
+
agents: agents.map((a) => ({ name: a.name, type: a.agent_type, description: a.description })),
|
|
233
|
+
api_base: config_1.config.apiUrl,
|
|
234
|
+
cli_version: '1.3.1',
|
|
235
|
+
}, null, 2);
|
|
236
|
+
}
|
|
237
|
+
function simpleHash(str) {
|
|
238
|
+
let hash = 0;
|
|
239
|
+
for (let i = 0; i < str.length; i++) {
|
|
240
|
+
const chr = str.charCodeAt(i);
|
|
241
|
+
hash = ((hash << 5) - hash) + chr;
|
|
242
|
+
hash |= 0;
|
|
243
|
+
}
|
|
244
|
+
return hash;
|
|
245
|
+
}
|
|
246
|
+
function buildMarkdownContext(company, companyId, kb, pages, services, products, agents, minimal) {
|
|
247
|
+
const lines = [];
|
|
248
|
+
// Header
|
|
249
|
+
lines.push(`# Solid# AI Context — ${company.name}`);
|
|
250
|
+
lines.push('');
|
|
251
|
+
lines.push(`> Auto-generated by \`solid context\` on ${new Date().toISOString().split('T')[0]}`);
|
|
252
|
+
lines.push(`> Run \`solid context --save\` to refresh this file.`);
|
|
253
|
+
lines.push('');
|
|
254
|
+
// Platform overview
|
|
255
|
+
lines.push('## Platform');
|
|
256
|
+
lines.push('');
|
|
257
|
+
lines.push('Solid# is AI Business Infrastructure. You are working on a business that runs on the Solid# platform.');
|
|
258
|
+
lines.push('The platform provides: CMS/website builder, CRM, booking, invoicing, AI agents, voice AI, and knowledge base management.');
|
|
259
|
+
lines.push('Everything is multi-tenant — all operations are scoped to this company.');
|
|
260
|
+
lines.push('');
|
|
261
|
+
// Company
|
|
262
|
+
lines.push('## This Company');
|
|
263
|
+
lines.push('');
|
|
264
|
+
lines.push(`| Field | Value |`);
|
|
265
|
+
lines.push(`|-------|-------|`);
|
|
266
|
+
lines.push(`| **Name** | ${company.name} |`);
|
|
267
|
+
lines.push(`| **ID** | ${companyId} |`);
|
|
268
|
+
lines.push(`| **Slug** | ${company.slug || 'not set'} |`);
|
|
269
|
+
lines.push(`| **Industry** | ${company.industry || 'not set'} |`);
|
|
270
|
+
lines.push(`| **Tier** | ${company.tier || 'starter'} |`);
|
|
271
|
+
if (company.contact_phone)
|
|
272
|
+
lines.push(`| **Phone** | ${company.contact_phone} |`);
|
|
273
|
+
if (company.contact_email)
|
|
274
|
+
lines.push(`| **Email** | ${company.contact_email} |`);
|
|
275
|
+
if (company.location)
|
|
276
|
+
lines.push(`| **Address** | ${company.location} |`);
|
|
277
|
+
lines.push('');
|
|
278
|
+
if (company.business_hours && Object.keys(company.business_hours).length > 0) {
|
|
279
|
+
lines.push('### Business Hours');
|
|
280
|
+
lines.push('');
|
|
281
|
+
lines.push('```json');
|
|
282
|
+
lines.push(JSON.stringify(company.business_hours, null, 2));
|
|
283
|
+
lines.push('```');
|
|
284
|
+
lines.push('');
|
|
285
|
+
}
|
|
286
|
+
// Knowledge Base
|
|
287
|
+
if (kb.length > 0) {
|
|
288
|
+
lines.push('## Knowledge Base');
|
|
289
|
+
lines.push('');
|
|
290
|
+
lines.push(`This company has ${kb.length} KB entries. The AI agents use these to answer questions and make decisions.`);
|
|
291
|
+
lines.push('');
|
|
292
|
+
// Group by category
|
|
293
|
+
const byCategory = {};
|
|
294
|
+
for (const entry of kb) {
|
|
295
|
+
const cat = entry.category || 'general';
|
|
296
|
+
if (!byCategory[cat])
|
|
297
|
+
byCategory[cat] = [];
|
|
298
|
+
byCategory[cat].push(entry);
|
|
299
|
+
}
|
|
300
|
+
for (const [category, entries] of Object.entries(byCategory)) {
|
|
301
|
+
lines.push(`### ${category}`);
|
|
302
|
+
lines.push('');
|
|
303
|
+
for (const entry of entries) {
|
|
304
|
+
lines.push(`**${entry.title}**`);
|
|
305
|
+
// Truncate very long content for context efficiency
|
|
306
|
+
const content = entry.content || '';
|
|
307
|
+
if (content.length > 500) {
|
|
308
|
+
lines.push(content.substring(0, 500) + '...');
|
|
309
|
+
lines.push(`*(${content.length} chars total — use \`solid kb get ${entry.id}\` for full text)*`);
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
lines.push(content);
|
|
313
|
+
}
|
|
314
|
+
lines.push('');
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
// Pages
|
|
319
|
+
if (pages.length > 0) {
|
|
320
|
+
lines.push('## Website Pages');
|
|
321
|
+
lines.push('');
|
|
322
|
+
lines.push('| Page | Slug | Published |');
|
|
323
|
+
lines.push('|------|------|-----------|');
|
|
324
|
+
for (const page of pages) {
|
|
325
|
+
lines.push(`| ${page.title} | /${page.slug} | ${page.is_published ? 'Yes' : 'No'} |`);
|
|
326
|
+
}
|
|
327
|
+
lines.push('');
|
|
328
|
+
}
|
|
329
|
+
// Services
|
|
330
|
+
if (services.length > 0) {
|
|
331
|
+
lines.push('## Services');
|
|
332
|
+
lines.push('');
|
|
333
|
+
lines.push('| Service | Price | Duration |');
|
|
334
|
+
lines.push('|---------|-------|----------|');
|
|
335
|
+
for (const svc of services) {
|
|
336
|
+
const price = svc.price ? `$${svc.price}` : 'Quote';
|
|
337
|
+
const duration = svc.duration_minutes ? `${svc.duration_minutes} min` : '-';
|
|
338
|
+
lines.push(`| ${svc.title} | ${price} | ${duration} |`);
|
|
339
|
+
}
|
|
340
|
+
lines.push('');
|
|
341
|
+
}
|
|
342
|
+
// Products
|
|
343
|
+
if (products.length > 0) {
|
|
344
|
+
lines.push('## Products');
|
|
345
|
+
lines.push('');
|
|
346
|
+
lines.push('| Product | Category | Price |');
|
|
347
|
+
lines.push('|---------|----------|-------|');
|
|
348
|
+
for (const prod of products) {
|
|
349
|
+
lines.push(`| ${prod.name} | ${prod.category || '-'} | ${prod.price ? '$' + prod.price : '-'} |`);
|
|
350
|
+
}
|
|
351
|
+
lines.push('');
|
|
352
|
+
}
|
|
353
|
+
// Agents
|
|
354
|
+
if (agents.length > 0) {
|
|
355
|
+
lines.push('## AI Agents');
|
|
356
|
+
lines.push('');
|
|
357
|
+
lines.push('These AI personas work for this company:');
|
|
358
|
+
lines.push('');
|
|
359
|
+
for (const agent of agents) {
|
|
360
|
+
lines.push(`- **${agent.name}** (${agent.agent_type}) — ${agent.description}`);
|
|
361
|
+
}
|
|
362
|
+
lines.push('');
|
|
363
|
+
}
|
|
364
|
+
// CLI Command Reference
|
|
365
|
+
if (!minimal) {
|
|
366
|
+
lines.push('## CLI Commands');
|
|
367
|
+
lines.push('');
|
|
368
|
+
lines.push('Use these commands to manage this company. All commands are scoped to the current company automatically.');
|
|
369
|
+
lines.push('');
|
|
370
|
+
lines.push('### Core Workflow');
|
|
371
|
+
lines.push('```bash');
|
|
372
|
+
lines.push('solid pull # Download pages, KB, services, products as local files');
|
|
373
|
+
lines.push('solid push # Push local changes back to Solid#');
|
|
374
|
+
lines.push('solid push --dry-run # Preview what would change (ALWAYS do this first)');
|
|
375
|
+
lines.push('solid status # Show company overview');
|
|
376
|
+
lines.push('```');
|
|
377
|
+
lines.push('');
|
|
378
|
+
lines.push('### Knowledge Base');
|
|
379
|
+
lines.push('```bash');
|
|
380
|
+
lines.push('solid kb list # List all KB entries');
|
|
381
|
+
lines.push('solid kb search "plumbing" # Search KB');
|
|
382
|
+
lines.push('solid kb create # Create new KB entry');
|
|
383
|
+
lines.push('solid kb delete <id> # Delete KB entry');
|
|
384
|
+
lines.push('```');
|
|
385
|
+
lines.push('');
|
|
386
|
+
lines.push('### Website Pages');
|
|
387
|
+
lines.push('```bash');
|
|
388
|
+
lines.push('solid pages list # List all pages');
|
|
389
|
+
lines.push('solid pages publish <id> # Publish a page');
|
|
390
|
+
lines.push('solid vibe "add a hero..." # Natural language page edits');
|
|
391
|
+
lines.push('```');
|
|
392
|
+
lines.push('');
|
|
393
|
+
lines.push('### AI Agents');
|
|
394
|
+
lines.push('```bash');
|
|
395
|
+
lines.push('solid train chat sarah # Chat with Sarah (customer service)');
|
|
396
|
+
lines.push('solid train chat marcus # Chat with Marcus (growth)');
|
|
397
|
+
lines.push('solid agent dashboard # Agent overview + telemetry');
|
|
398
|
+
lines.push('solid agent soul sarah # View agent identity and config');
|
|
399
|
+
lines.push('solid agent mission "..." # Multi-agent mission');
|
|
400
|
+
lines.push('```');
|
|
401
|
+
lines.push('');
|
|
402
|
+
lines.push('### CRM & Operations');
|
|
403
|
+
lines.push('```bash');
|
|
404
|
+
lines.push('solid crm contacts # View contacts');
|
|
405
|
+
lines.push('solid crm deals # View deals/pipeline');
|
|
406
|
+
lines.push('solid inbox # Unified inbox');
|
|
407
|
+
lines.push('solid schedule list # Appointments');
|
|
408
|
+
lines.push('solid voice calls # Call logs');
|
|
409
|
+
lines.push('solid reports revenue # Revenue analytics');
|
|
410
|
+
lines.push('```');
|
|
411
|
+
lines.push('');
|
|
412
|
+
lines.push('### Content & Commerce');
|
|
413
|
+
lines.push('```bash');
|
|
414
|
+
lines.push('solid blog list # Blog posts');
|
|
415
|
+
lines.push('solid brand get # Brand identity');
|
|
416
|
+
lines.push('solid services list # Service catalog');
|
|
417
|
+
lines.push('solid inventory list # Inventory');
|
|
418
|
+
lines.push('solid payment list # Payment history');
|
|
419
|
+
lines.push('```');
|
|
420
|
+
lines.push('');
|
|
421
|
+
lines.push('### Multi-Company (Agencies)');
|
|
422
|
+
lines.push('```bash');
|
|
423
|
+
lines.push('solid company list # List all companies you manage');
|
|
424
|
+
lines.push('solid switch <id or name> # Switch to another company');
|
|
425
|
+
lines.push('solid company create "Name" --template plumber # New client from template');
|
|
426
|
+
lines.push('```');
|
|
427
|
+
lines.push('');
|
|
428
|
+
lines.push('### API Access');
|
|
429
|
+
lines.push('```bash');
|
|
430
|
+
lines.push('# For CI/CD or AI agent integration:');
|
|
431
|
+
lines.push('export SOLID_API_KEY=sk_live_...');
|
|
432
|
+
lines.push('solid status # Now uses API key instead of login token');
|
|
433
|
+
lines.push('```');
|
|
434
|
+
lines.push('');
|
|
435
|
+
}
|
|
436
|
+
// File structure
|
|
437
|
+
lines.push('## Local File Structure');
|
|
438
|
+
lines.push('');
|
|
439
|
+
lines.push('After running `solid pull`, your directory looks like:');
|
|
440
|
+
lines.push('');
|
|
441
|
+
lines.push('```');
|
|
442
|
+
lines.push('├── solid.config.json # Company settings (name, industry, tier, hours)');
|
|
443
|
+
lines.push('├── pages/');
|
|
444
|
+
lines.push('│ ├── home.json # Page layout (title, slug, layout_json, is_published)');
|
|
445
|
+
lines.push('│ └── about.json');
|
|
446
|
+
lines.push('├── kb/');
|
|
447
|
+
lines.push('│ ├── services.md # KB entry (YAML frontmatter + markdown content)');
|
|
448
|
+
lines.push('│ └── faq.md');
|
|
449
|
+
lines.push('├── services/');
|
|
450
|
+
lines.push('│ └── plumbing.json # Service (title, price, duration_minutes)');
|
|
451
|
+
lines.push('├── products/');
|
|
452
|
+
lines.push('│ └── widget.json # Product (name, price, category)');
|
|
453
|
+
lines.push('└── .solid/');
|
|
454
|
+
lines.push(' └── manifest.json # Sync metadata (DO NOT EDIT)');
|
|
455
|
+
lines.push('```');
|
|
456
|
+
lines.push('');
|
|
457
|
+
// Rules
|
|
458
|
+
lines.push('## Rules');
|
|
459
|
+
lines.push('');
|
|
460
|
+
lines.push('1. **Always `solid push --dry-run` before `solid push`** — preview changes before deploying');
|
|
461
|
+
lines.push('2. **Never edit `.solid/manifest.json`** — this tracks sync state');
|
|
462
|
+
lines.push('3. **KB entries are markdown** with YAML frontmatter (id, title, category)');
|
|
463
|
+
lines.push('4. **Pages are JSON** with `layout_json` containing the page builder blocks');
|
|
464
|
+
lines.push('5. **All data is scoped to this company** — you cannot accidentally affect other businesses');
|
|
465
|
+
lines.push('6. **To refresh this context**, run `solid context --save` (or `--claude` / `--cursor`)');
|
|
466
|
+
lines.push('');
|
|
467
|
+
// API info
|
|
468
|
+
lines.push('## API');
|
|
469
|
+
lines.push('');
|
|
470
|
+
lines.push(`- **Base URL:** ${config_1.config.apiUrl}`);
|
|
471
|
+
lines.push(`- **Auth:** Bearer token (via \`solid auth login\`) or \`SOLID_API_KEY\` env var`);
|
|
472
|
+
lines.push(`- **Company scope:** All requests include \`X-Company-ID: ${companyId}\` header`);
|
|
473
|
+
lines.push('');
|
|
474
|
+
return lines.join('\n');
|
|
475
|
+
}
|
|
476
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ================================================================================
|
|
3
|
+
* solid design — Google Stitch Design Integration
|
|
4
|
+
* ================================================================================
|
|
5
|
+
*
|
|
6
|
+
* Optional design layer powered by Google Stitch AI.
|
|
7
|
+
* Generates UI designs from text prompts and converts them to
|
|
8
|
+
* Solid# layout_json blocks — the same format used by Alex, Visual Builder,
|
|
9
|
+
* and all CMS pages.
|
|
10
|
+
*
|
|
11
|
+
* This is a LAYER — if Stitch is unavailable, all other CMS tools work normally.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* solid design generate "modern plumbing homepage" # Generate from prompt
|
|
15
|
+
* solid design import --file design.html # Import HTML file
|
|
16
|
+
* solid design import --stdin # Import HTML from stdin
|
|
17
|
+
* solid design status # Check Stitch availability
|
|
18
|
+
* solid design pull --project <id> --screen <id> # Pull screen from Stitch
|
|
19
|
+
* ================================================================================
|
|
20
|
+
*/
|
|
21
|
+
import { Command } from 'commander';
|
|
22
|
+
export declare const designCommand: Command;
|
|
23
|
+
//# sourceMappingURL=design.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/commands/design.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmDpC,eAAO,MAAM,aAAa,SAcvB,CAAC"}
|