@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.
Files changed (41) hide show
  1. package/README.md +19 -3
  2. package/dist/commands/analytics.d.ts +8 -0
  3. package/dist/commands/analytics.d.ts.map +1 -0
  4. package/dist/commands/analytics.js +136 -0
  5. package/dist/commands/analytics.js.map +1 -0
  6. package/dist/commands/context.d.ts +17 -0
  7. package/dist/commands/context.d.ts.map +1 -0
  8. package/dist/commands/context.js +476 -0
  9. package/dist/commands/context.js.map +1 -0
  10. package/dist/commands/design.d.ts +23 -0
  11. package/dist/commands/design.d.ts.map +1 -0
  12. package/dist/commands/design.js +293 -0
  13. package/dist/commands/design.js.map +1 -0
  14. package/dist/commands/docs.d.ts.map +1 -1
  15. package/dist/commands/docs.js +16 -0
  16. package/dist/commands/docs.js.map +1 -1
  17. package/dist/commands/explore.d.ts +5 -5
  18. package/dist/commands/explore.d.ts.map +1 -1
  19. package/dist/commands/explore.js +18 -66
  20. package/dist/commands/explore.js.map +1 -1
  21. package/dist/commands/insights.d.ts +9 -0
  22. package/dist/commands/insights.d.ts.map +1 -0
  23. package/dist/commands/insights.js +175 -0
  24. package/dist/commands/insights.js.map +1 -0
  25. package/dist/commands/llms.d.ts +12 -0
  26. package/dist/commands/llms.d.ts.map +1 -0
  27. package/dist/commands/llms.js +227 -0
  28. package/dist/commands/llms.js.map +1 -0
  29. package/dist/commands/payment.d.ts +27 -0
  30. package/dist/commands/payment.d.ts.map +1 -0
  31. package/dist/commands/payment.js +305 -0
  32. package/dist/commands/payment.js.map +1 -0
  33. package/dist/commands/seo.d.ts +8 -0
  34. package/dist/commands/seo.d.ts.map +1 -0
  35. package/dist/commands/seo.js +220 -0
  36. package/dist/commands/seo.js.map +1 -0
  37. package/dist/index.js +37 -1
  38. package/dist/index.js.map +1 -1
  39. package/package.json +1 -1
  40. package/platform-docs/ai.txt +3 -0
  41. package/platform-docs/llms.txt +1 -1
package/README.md CHANGED
@@ -33,6 +33,11 @@ solid pull
33
33
  # Push changes to production
34
34
  solid push
35
35
 
36
+ # Give your AI full context about this company
37
+ solid context --claude # Claude Code
38
+ solid context --cursor # Cursor
39
+ solid context --save # Any AI (paste into project)
40
+
36
41
  # Talk to your AI agent
37
42
  solid train chat sarah
38
43
 
@@ -76,6 +81,16 @@ solid agent mission "Create a Valentine's campaign for VIP customers"
76
81
  | `solid pages list` | List CMS pages |
77
82
  | `solid services list` | List services |
78
83
 
84
+ ### AI Context
85
+ | Command | Description |
86
+ |---------|-------------|
87
+ | `solid context` | Generate AI context package (stdout) |
88
+ | `solid context --claude` | Save to `.claude/CLAUDE.md` (auto-read by Claude Code) |
89
+ | `solid context --cursor` | Save to `.cursorrules` (auto-read by Cursor) |
90
+ | `solid context --save` | Save to `SOLID-CONTEXT.md` |
91
+ | `solid context --watch` | Auto-refresh when data changes |
92
+ | `solid context --json` | JSON output |
93
+
79
94
  ### Platform
80
95
  | Command | Description |
81
96
  |---------|-------------|
@@ -110,9 +125,10 @@ solid agent mission "Create a Valentine's campaign for VIP customers"
110
125
 
111
126
  ```
112
127
  1. solid pull → Download pages, KB, services
113
- 2. Edit files VS Code, Cursor, any editor
114
- 3. solid pushDeploy changes instantly
115
- 4. solid vibe"Add a hero section" (natural language)
128
+ 2. solid context Give your AI full company knowledge
129
+ 3. Edit filesVS Code, Cursor, any editor (AI-assisted)
130
+ 4. solid pushDeploy changes instantly
131
+ 5. solid vibe → "Add a hero section" (natural language)
116
132
  ```
117
133
 
118
134
  ## File Formats
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Analytics command for Solid CLI
3
+ *
4
+ * Surface business analytics from the terminal.
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare const analyticsCommand: Command;
8
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,gBAAgB,SAIzB,CAAC"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ /**
3
+ * Analytics command for Solid CLI
4
+ *
5
+ * Surface business analytics from the terminal.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.analyticsCommand = void 0;
45
+ const commander_1 = require("commander");
46
+ const chalk_1 = __importDefault(require("chalk"));
47
+ const config_1 = require("../lib/config");
48
+ const api_client_1 = require("../lib/api-client");
49
+ const ui_1 = require("../lib/ui");
50
+ exports.analyticsCommand = new commander_1.Command('analytics')
51
+ .description('Business analytics and insights')
52
+ .action(async () => {
53
+ exports.analyticsCommand.outputHelp();
54
+ });
55
+ exports.analyticsCommand
56
+ .command('dashboard')
57
+ .description('Revenue, customers, transactions overview')
58
+ .option('--period <days>', 'Period in days', '30')
59
+ .option('--json', 'JSON output')
60
+ .action(async (options) => {
61
+ if (!config_1.config.isLoggedIn()) {
62
+ console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
63
+ process.exit(1);
64
+ }
65
+ const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
66
+ const spinner = ora('Loading analytics...').start();
67
+ try {
68
+ const response = await api_client_1.apiClient.get('/api/v1/dashboard/summary', {
69
+ params: { period: options.period },
70
+ });
71
+ spinner.stop();
72
+ if (options.json) {
73
+ console.log(JSON.stringify(response.data, null, 2));
74
+ return;
75
+ }
76
+ const d = response.data;
77
+ console.log('');
78
+ console.log(ui_1.ui.header('Business Analytics'));
79
+ if (d.revenue !== undefined)
80
+ console.log(ui_1.ui.label('Revenue', chalk_1.default.green(`$${(d.revenue || 0).toLocaleString()}`)));
81
+ if (d.transactions !== undefined)
82
+ console.log(ui_1.ui.label('Transactions', String(d.transactions || 0)));
83
+ if (d.customers !== undefined)
84
+ console.log(ui_1.ui.label('Customers', String(d.customers || 0)));
85
+ if (d.new_customers !== undefined)
86
+ console.log(ui_1.ui.label('New Customers', String(d.new_customers || 0)));
87
+ if (d.avg_transaction !== undefined)
88
+ console.log(ui_1.ui.label('Avg Transaction', chalk_1.default.green(`$${(d.avg_transaction || 0).toFixed(2)}`)));
89
+ console.log('');
90
+ }
91
+ catch (error) {
92
+ spinner.fail(chalk_1.default.red('Failed to load analytics'));
93
+ console.error((0, api_client_1.handleApiError)(error).message);
94
+ }
95
+ });
96
+ exports.analyticsCommand
97
+ .command('mcp-traffic')
98
+ .description('AI crawler traffic — who is reading your site')
99
+ .option('--json', 'JSON output')
100
+ .action(async (options) => {
101
+ if (!config_1.config.isLoggedIn()) {
102
+ console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
103
+ process.exit(1);
104
+ }
105
+ const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
106
+ const spinner = ora('Loading MCP traffic...').start();
107
+ try {
108
+ const response = await api_client_1.apiClient.get('/api/v1/analytics/mcp/traffic');
109
+ spinner.stop();
110
+ if (options.json) {
111
+ console.log(JSON.stringify(response.data, null, 2));
112
+ return;
113
+ }
114
+ const d = response.data;
115
+ console.log('');
116
+ console.log(ui_1.ui.header('AI Crawler Traffic'));
117
+ if (d.total_hits !== undefined)
118
+ console.log(ui_1.ui.label('Total Hits', String(d.total_hits)));
119
+ if (d.google_hits !== undefined)
120
+ console.log(ui_1.ui.label('Google AI', String(d.google_hits)));
121
+ if (d.bing_hits !== undefined)
122
+ console.log(ui_1.ui.label('Bing AI', String(d.bing_hits)));
123
+ if (d.chatgpt_hits !== undefined)
124
+ console.log(ui_1.ui.label('ChatGPT', String(d.chatgpt_hits)));
125
+ if (d.claude_hits !== undefined)
126
+ console.log(ui_1.ui.label('Claude', String(d.claude_hits)));
127
+ if (d.perplexity_hits !== undefined)
128
+ console.log(ui_1.ui.label('Perplexity', String(d.perplexity_hits)));
129
+ console.log('');
130
+ }
131
+ catch (error) {
132
+ spinner.fail(chalk_1.default.red('Failed to load MCP traffic'));
133
+ console.error((0, api_client_1.handleApiError)(error).message);
134
+ }
135
+ });
136
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Context command for Solid CLI
3
+ *
4
+ * Generates a complete AI context package (SOLID-CONTEXT.md) that any AI
5
+ * (Claude, GPT, Cursor, Windsurf, etc.) can ingest to understand
6
+ * the Solid# platform and this specific company.
7
+ *
8
+ * Usage:
9
+ * solid context # Print to stdout
10
+ * solid context > SOLID-CONTEXT.md # Save to file
11
+ * solid context --clipboard # Copy to clipboard
12
+ * solid context --save # Save to ./SOLID-CONTEXT.md
13
+ * solid context --claude # Save to ./.claude/CLAUDE.md
14
+ */
15
+ import { Command } from 'commander';
16
+ export declare const contextCommand: Command;
17
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqDpC,eAAO,MAAM,cAAc,SA6JvB,CAAC"}