webmcp-cli 1.0.0

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 (2) hide show
  1. package/index.js +105 -0
  2. package/package.json +22 -0
package/index.js ADDED
@@ -0,0 +1,105 @@
1
+ #!/usr/bin/env node
2
+
3
+ const figlet = require('figlet');
4
+ const gradient = require('gradient-string');
5
+ const chalk = require('chalk');
6
+ const { exec } = require('child_process');
7
+
8
+ // Clear terminal
9
+ console.clear();
10
+
11
+ // Rainbow colors for animation
12
+ const rainbowColors = [
13
+ chalk.red,
14
+ chalk.hex('#FF7F00'), // orange
15
+ chalk.yellow,
16
+ chalk.green,
17
+ chalk.cyan,
18
+ chalk.blue,
19
+ chalk.magenta
20
+ ];
21
+
22
+ // Generate ASCII art with figlet
23
+ figlet.text('web-mcp', {
24
+ font: 'ANSI Shadow',
25
+ horizontalLayout: 'default',
26
+ verticalLayout: 'default'
27
+ }, (err, asciiArt) => {
28
+ if (err) {
29
+ console.error('Error generating ASCII art:', err);
30
+ process.exit(1);
31
+ }
32
+
33
+ let colorIndex = 0;
34
+ let frameCount = 0;
35
+ const maxFrames = 30; // ~3 seconds at 100ms intervals
36
+
37
+ // Phase 1: Rainbow animation
38
+ const rainbowInterval = setInterval(() => {
39
+ console.clear();
40
+
41
+ // Apply rainbow effect - shift colors across lines
42
+ const lines = asciiArt.split('\n');
43
+ const coloredLines = lines.map((line, i) => {
44
+ const colorFn = rainbowColors[(colorIndex + i) % rainbowColors.length];
45
+ return colorFn(line);
46
+ });
47
+
48
+ console.log(coloredLines.join('\n'));
49
+
50
+ colorIndex = (colorIndex + 1) % rainbowColors.length;
51
+ frameCount++;
52
+
53
+ if (frameCount >= maxFrames) {
54
+ clearInterval(rainbowInterval);
55
+ startPhase2();
56
+ }
57
+ }, 100);
58
+
59
+ function startPhase2() {
60
+ // Phase 2: Beautiful gradient effect with countdown
61
+ let countdown = 10;
62
+
63
+ const countdownInterval = setInterval(() => {
64
+ console.clear();
65
+ const coolGradient = gradient(['#ff6b6b', '#4ecdc4', '#45b7d1', '#96ceb4', '#ffeaa7']);
66
+ console.log(coolGradient.multiline(asciiArt));
67
+
68
+ // Add taglines
69
+ console.log();
70
+ console.log(gradient.pastel(' get your website ready for tomorrow by today - agentic web is coming soon 👀'));
71
+ console.log();
72
+ console.log(gradient.cristal(' you\'re not on the waitlist yet'));
73
+ console.log(gradient.cristal(' let\'s get you registered at web-mcp.net'));
74
+ console.log();
75
+ console.log(chalk.cyan(` opening in ${countdown}...`));
76
+
77
+ countdown--;
78
+
79
+ if (countdown < 0) {
80
+ clearInterval(countdownInterval);
81
+
82
+ console.clear();
83
+ console.log(coolGradient.multiline(asciiArt));
84
+ console.log();
85
+ console.log(gradient.pastel(' get your website ready for tomorrow by today - agentic web is coming soon 👀'));
86
+ console.log();
87
+ console.log(gradient.cristal(' you\'re not on the waitlist yet'));
88
+ console.log(gradient.cristal(' let\'s get you registered at web-mcp.net'));
89
+ console.log();
90
+ console.log(chalk.green(' launching web-mcp.net 🚀'));
91
+ console.log();
92
+
93
+ // Open the website
94
+ const platform = process.platform;
95
+ const command = platform === 'darwin' ? 'open' :
96
+ platform === 'win32' ? 'start' : 'xdg-open';
97
+ exec(`${command} https://web-mcp.net`);
98
+
99
+ setTimeout(() => {
100
+ process.exit(0);
101
+ }, 1000);
102
+ }
103
+ }, 1000);
104
+ }
105
+ });
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "webmcp-cli",
3
+ "version": "1.0.0",
4
+ "description": "Animated ASCII art display for webmcp",
5
+ "bin": {
6
+ "webmcp-cli": "./index.js"
7
+ },
8
+ "files": [
9
+ "index.js"
10
+ ],
11
+ "keywords": [
12
+ "cli",
13
+ "ascii",
14
+ "animation"
15
+ ],
16
+ "license": "MIT",
17
+ "dependencies": {
18
+ "figlet": "^1.7.0",
19
+ "gradient-string": "^2.0.2",
20
+ "chalk": "^4.1.2"
21
+ }
22
+ }