@_xtribe/cli 2.1.1 → 2.1.3
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/install-tribe.js +18 -64
- package/package.json +1 -1
package/install-tribe.js
CHANGED
|
@@ -10,13 +10,12 @@ const ora = require('ora');
|
|
|
10
10
|
|
|
11
11
|
// ASCII art for TRIBE
|
|
12
12
|
const asciiArt = `
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|___| |_______||___| |_______||_______|
|
|
13
|
+
████████╗██████╗ ██╗██████╗ ███████╗
|
|
14
|
+
╚══██╔══╝██╔══██╗██║██╔══██╗██╔════╝
|
|
15
|
+
██║ ██████╔╝██║██████╔╝█████╗
|
|
16
|
+
██║ ██╔══██╗██║██╔══██╗██╔══╝
|
|
17
|
+
██║ ██║ ██║██║██████╔╝███████╗
|
|
18
|
+
╚═╝ ╚═╝ ╚═╝╚═╝╚═════╝ ╚══════╝
|
|
20
19
|
|
|
21
20
|
Learn AI Engineering • Maximum Impact • It Doesn't Have to Be Hard`;
|
|
22
21
|
|
|
@@ -37,50 +36,12 @@ if (!fs.existsSync(tribeBinDir)) {
|
|
|
37
36
|
function showWelcome() {
|
|
38
37
|
console.clear();
|
|
39
38
|
console.log(chalk.cyan(asciiArt));
|
|
40
|
-
console.log(chalk.
|
|
41
|
-
console.log(chalk.bold('Your Personal AI Engineering Coach • Build Skills That Matter\n'));
|
|
42
|
-
|
|
43
|
-
console.log('TRIBE Tutor teaches you to master AI tools through hands-on learning:');
|
|
44
|
-
console.log(' 📚 ' + chalk.cyan('Context engineering mastery') + ' - Learn what context gets better results');
|
|
45
|
-
console.log(' 🎯 ' + chalk.cyan('Personalized coaching') + ' - Tailored lessons from your real usage');
|
|
46
|
-
console.log(' 🧠 ' + chalk.cyan('Skill development') + ' - From basic prompts to expert context engineering');
|
|
47
|
-
console.log(' ⚡ ' + chalk.cyan('Maximum impact') + ' - Focus on techniques that actually matter\n');
|
|
48
|
-
|
|
49
|
-
console.log(chalk.yellow('🚀 Everyone can learn AI engineering - we make it simple and practical'));
|
|
50
|
-
console.log(chalk.gray(`\nPlatform: ${platform} (${arch}) • Node: ${process.version}\n`));
|
|
39
|
+
console.log(chalk.gray('Master AI Engineering Through Practice\n'));
|
|
51
40
|
}
|
|
52
41
|
|
|
53
42
|
function showInstallationSummary() {
|
|
54
|
-
console.log('
|
|
55
|
-
console.log(chalk.
|
|
56
|
-
|
|
57
|
-
console.log(chalk.cyan.bold('📚 Personalized Learning System Activated'));
|
|
58
|
-
console.log(chalk.gray(' Watching your AI workflow to create custom lessons just for you'));
|
|
59
|
-
console.log(chalk.gray(' 🔒 Privacy-first: We analyze patterns, not your code content\n'));
|
|
60
|
-
|
|
61
|
-
console.log(chalk.bold('⚡ How Your Skills Will Grow:'));
|
|
62
|
-
console.log(' 📖 ' + chalk.green('Learn from real examples') + ' - Your own coding sessions become lessons');
|
|
63
|
-
console.log(' 🎯 ' + chalk.green('Practice with purpose') + ' - Focus on what actually improves your work');
|
|
64
|
-
console.log(' 🧠 ' + chalk.green('Build expert intuition') + ' - Understand why some approaches work better\n');
|
|
65
|
-
|
|
66
|
-
console.log(chalk.bold.magenta('🛠️ AI Engineering Skills You\'ll Master:'));
|
|
67
|
-
console.log(' 🤖 Claude context engineering • ⚡ Cursor workflow design • 🚀 Multi-tool context switching • 💻 Advanced prompt architecture\n');
|
|
68
|
-
|
|
69
|
-
console.log(chalk.bold('🎯 Your Learning Path:'));
|
|
70
|
-
console.log(chalk.cyan.bold(' 1. tribe login') + chalk.gray(' # Start your personalized curriculum'));
|
|
71
|
-
console.log(chalk.cyan.bold(' 2. code normally') + chalk.gray(' # Every session teaches us about your style'));
|
|
72
|
-
console.log(chalk.cyan.bold(' 3. tribe insights') + chalk.gray(' # Get custom lessons based on your progress\n'));
|
|
73
|
-
|
|
74
|
-
console.log(chalk.bold('🚀 Skills You\'ll Develop:'));
|
|
75
|
-
console.log(' 🎨 ' + chalk.yellow('Context engineering that gets better results every time'));
|
|
76
|
-
console.log(' ⚡ ' + chalk.yellow('Workflow patterns that maximize your speed and context quality'));
|
|
77
|
-
console.log(' 🎯 ' + chalk.yellow('Context switching - when to use what tools and why'));
|
|
78
|
-
console.log(' 🧠 ' + chalk.yellow('AI engineering intuition that compounds over time\n'));
|
|
79
|
-
|
|
80
|
-
console.log(chalk.gray('Learning Dashboard: ') + chalk.cyan('https://tribecode.ai/tribe/learn'));
|
|
81
|
-
console.log(chalk.gray('Skill Progression: ') + chalk.cyan('https://tribecode.ai/tribe/progress'));
|
|
82
|
-
console.log(chalk.gray('Privacy & Security: ') + chalk.cyan('https://tribecode.ai/docs/privacy-security'));
|
|
83
|
-
console.log('\n' + '═'.repeat(70) + '\n');
|
|
43
|
+
console.log(chalk.green.bold('✓ Ready!'));
|
|
44
|
+
console.log('Type ' + chalk.cyan.bold('tribe') + ' to get started');
|
|
84
45
|
}
|
|
85
46
|
|
|
86
47
|
async function downloadFile(url, dest) {
|
|
@@ -105,10 +66,10 @@ async function downloadFile(url, dest) {
|
|
|
105
66
|
|
|
106
67
|
async function installTribeCLI() {
|
|
107
68
|
const tribeDest = path.join(tribeBinDir, 'tribe');
|
|
108
|
-
|
|
69
|
+
|
|
109
70
|
// Check if update needed
|
|
110
71
|
const exists = fs.existsSync(tribeDest);
|
|
111
|
-
const spinner = ora(exists ? '
|
|
72
|
+
const spinner = ora(exists ? 'Updating CLI...' : 'Installing CLI...').start();
|
|
112
73
|
|
|
113
74
|
try {
|
|
114
75
|
// Remove existing if present
|
|
@@ -132,7 +93,7 @@ async function installTribeCLI() {
|
|
|
132
93
|
}
|
|
133
94
|
}
|
|
134
95
|
|
|
135
|
-
spinner.succeed(
|
|
96
|
+
spinner.succeed('CLI ready');
|
|
136
97
|
return true;
|
|
137
98
|
} catch (error) {
|
|
138
99
|
spinner.fail(`Installation failed: ${error.message}`);
|
|
@@ -141,7 +102,7 @@ async function installTribeCLI() {
|
|
|
141
102
|
}
|
|
142
103
|
|
|
143
104
|
async function setupPath() {
|
|
144
|
-
const spinner = ora('
|
|
105
|
+
const spinner = ora('Setting up PATH...').start();
|
|
145
106
|
|
|
146
107
|
try {
|
|
147
108
|
// Create PATH script
|
|
@@ -168,7 +129,7 @@ fi`;
|
|
|
168
129
|
}
|
|
169
130
|
}
|
|
170
131
|
|
|
171
|
-
spinner.succeed('
|
|
132
|
+
spinner.succeed('Environment ready');
|
|
172
133
|
return true;
|
|
173
134
|
} catch (error) {
|
|
174
135
|
spinner.warn('PATH setup needs manual configuration');
|
|
@@ -195,9 +156,6 @@ async function main() {
|
|
|
195
156
|
// Show welcome
|
|
196
157
|
showWelcome();
|
|
197
158
|
|
|
198
|
-
// Simple installation flow
|
|
199
|
-
console.log(chalk.bold('📦 Setting up TRIBE Telemetry...\n'));
|
|
200
|
-
|
|
201
159
|
// Install TRIBE CLI
|
|
202
160
|
const success = await installTribeCLI();
|
|
203
161
|
if (!success) {
|
|
@@ -208,16 +166,12 @@ async function main() {
|
|
|
208
166
|
|
|
209
167
|
// Setup PATH
|
|
210
168
|
await setupPath();
|
|
211
|
-
|
|
212
|
-
// Show
|
|
169
|
+
|
|
170
|
+
// Show completion
|
|
171
|
+
console.log('');
|
|
213
172
|
showInstallationSummary();
|
|
214
173
|
|
|
215
|
-
// Final message
|
|
216
|
-
console.log(chalk.green.bold('🎓 Your AI Engineering Journey Starts Now!\n'));
|
|
217
|
-
console.log(chalk.magenta.bold('📚 Run ') + chalk.cyan.bold('tribe login') + chalk.magenta.bold(' to begin your personalized learning path'));
|
|
218
|
-
console.log(chalk.gray(' Every coding session becomes a lesson. Every challenge becomes growth.\n'));
|
|
219
|
-
console.log(chalk.yellow('🚀 Master AI engineering step by step - because it really doesn\'t have to be hard'));
|
|
220
|
-
console.log();
|
|
174
|
+
// Final message - included in showInstallationSummary now
|
|
221
175
|
|
|
222
176
|
process.exit(0);
|
|
223
177
|
}
|