@_xtribe/cli 2.0.0 β 2.0.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/README.md +207 -0
- package/install-tribe.js +33 -101
- package/package.json +22 -22
- package/index.js +0 -20
- package/install-tribe-autolaunch.js +0 -269
- package/install-tribe-minimal.js +0 -171
- package/install.sh +0 -43
- package/setup-path.js +0 -105
- package/tribe-deployment.yaml +0 -753
package/README.md
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# TRIBE: Multi-Agent AI Development System
|
|
2
|
+
|
|
3
|
+
> **Transform natural language into production-ready code with a team of autonomous AI agents working in parallel**
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@_xtribe/cli)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
## π Get Started in 30 Seconds
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npx @_xtribe/cli@latest
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
That's it! This single command sets up your entire AI development environment.
|
|
15
|
+
|
|
16
|
+
## π‘ Why TRIBE?
|
|
17
|
+
|
|
18
|
+
**The Problem:** Writing code takes time. Even with AI assistants, you're still copy-pasting, context-switching, and managing everything manually.
|
|
19
|
+
|
|
20
|
+
**The Solution:** TRIBE deploys a team of AI agents that work like real developers. They understand your requirements, write code, create pull requests, and even handle code reviewsβall running securely on your local machine.
|
|
21
|
+
|
|
22
|
+
## π― What Can TRIBE Do?
|
|
23
|
+
|
|
24
|
+
### Real Examples, Real Results
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Create a complete REST API
|
|
28
|
+
tribe submit-prompt "Build a user management API with JWT auth, password reset, and email verification"
|
|
29
|
+
|
|
30
|
+
# Add features to existing code
|
|
31
|
+
tribe submit-prompt "Add rate limiting and request logging to all API endpoints"
|
|
32
|
+
|
|
33
|
+
# Fix bugs with context
|
|
34
|
+
tribe submit-prompt "Debug why user sessions expire after 5 minutes instead of 24 hours"
|
|
35
|
+
|
|
36
|
+
# Refactor legacy code
|
|
37
|
+
tribe submit-prompt "Refactor the payment processing module to use async/await instead of callbacks"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**TRIBE agents will:**
|
|
41
|
+
- β
Break down your request into logical tasks
|
|
42
|
+
- β
Assign specialized agents to each task
|
|
43
|
+
- β
Write code in parallel across multiple feature branches
|
|
44
|
+
- β
Create pull requests with detailed descriptions
|
|
45
|
+
- β
Implement features with best practices
|
|
46
|
+
|
|
47
|
+
## ποΈ How It Works
|
|
48
|
+
|
|
49
|
+
1. **Natural Language Input** β You describe what you want in plain English
|
|
50
|
+
2. **Intelligent Task Breakdown** β TRIBE analyzes and creates an execution plan
|
|
51
|
+
3. **Parallel Agent Execution** β Multiple AI agents work simultaneously
|
|
52
|
+
4. **Code Implementation** β Agents write clean, tested code
|
|
53
|
+
5. **Pull Request Ready** β Review and merge when you're satisfied
|
|
54
|
+
|
|
55
|
+
## π οΈ Quick Start Guide
|
|
56
|
+
|
|
57
|
+
### Prerequisites
|
|
58
|
+
- **Claude Code CLI**: Install with `npm install -g @anthropic-ai/claude-code` and authenticate
|
|
59
|
+
- **Docker** or **Colima**: For running the local Kubernetes cluster
|
|
60
|
+
- **Node.js 16+**: Required for the CLI
|
|
61
|
+
|
|
62
|
+
### Installation
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# 1. Install TRIBE CLI
|
|
66
|
+
npx @_xtribe/cli@latest
|
|
67
|
+
|
|
68
|
+
# 2. Install and authenticate Claude Code CLI (if not already done)
|
|
69
|
+
npm install -g @anthropic-ai/claude-code
|
|
70
|
+
claude auth login
|
|
71
|
+
|
|
72
|
+
# 3. Start TRIBE
|
|
73
|
+
tribe start
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Your First Project
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Interactive mode (recommended for beginners)
|
|
80
|
+
tribe
|
|
81
|
+
|
|
82
|
+
# Or use direct commands
|
|
83
|
+
tribe submit-prompt "Create a TODO app with React, TypeScript, and local storage"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Watch as your agents:
|
|
87
|
+
- Create a new repository
|
|
88
|
+
- Set up the project structure
|
|
89
|
+
- Implement all features
|
|
90
|
+
- Write tests
|
|
91
|
+
- Create documentation
|
|
92
|
+
|
|
93
|
+
### Monitor Progress
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# See what your agents are doing (multiple ways)
|
|
97
|
+
tribe tasks # Object-oriented syntax
|
|
98
|
+
tribe list-tasks # Traditional syntax
|
|
99
|
+
|
|
100
|
+
# Check specific task details
|
|
101
|
+
tribe tasks task_abc123 # Object-oriented syntax
|
|
102
|
+
tribe show-task task_abc123 # Traditional syntax
|
|
103
|
+
|
|
104
|
+
# View worker activity
|
|
105
|
+
tribe workers # Object-oriented syntax
|
|
106
|
+
tribe worker-status # Traditional syntax
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Export and Review
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Export all branches locally
|
|
113
|
+
tribe export-branches
|
|
114
|
+
|
|
115
|
+
# Review the code
|
|
116
|
+
git diff main...tribe/feature-todo-app
|
|
117
|
+
|
|
118
|
+
# Merge via the Gitea UI
|
|
119
|
+
open http://localhost:3000
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## π¨ Key Features
|
|
123
|
+
|
|
124
|
+
### π€ Autonomous Multi-Agent System
|
|
125
|
+
- **Specialized Agents**: Different agents for frontend, backend, testing, and documentation
|
|
126
|
+
- **Parallel Execution**: Multiple agents work simultaneously on different tasks
|
|
127
|
+
- **Smart Coordination**: Agents understand dependencies and work in the right order
|
|
128
|
+
|
|
129
|
+
### π Security & Privacy First
|
|
130
|
+
- **100% Local**: Your code never leaves your machine
|
|
131
|
+
- **Isolated Environment**: Runs in Kubernetes with proper resource limits
|
|
132
|
+
- **Full Control**: Review every line before merging
|
|
133
|
+
|
|
134
|
+
### π οΈ Developer-Friendly
|
|
135
|
+
- **Git-Native**: Each task creates a proper feature branch
|
|
136
|
+
- **Standard PRs**: Review changes like any other pull request
|
|
137
|
+
- **IDE Compatible**: Work with your favorite editor while agents code
|
|
138
|
+
|
|
139
|
+
### π Real-Time Monitoring
|
|
140
|
+
- **Live Progress**: See what each agent is working on
|
|
141
|
+
- **Task Tracking**: Monitor completion status
|
|
142
|
+
- **Performance Metrics**: Understand how your agents are performing
|
|
143
|
+
|
|
144
|
+
## π Use Cases
|
|
145
|
+
|
|
146
|
+
### Startups & MVPs
|
|
147
|
+
Build your MVP faster by describing features in plain English and letting TRIBE handle the implementation.
|
|
148
|
+
|
|
149
|
+
### Enterprise Development
|
|
150
|
+
Automate routine feature development, bug fixes, and refactoring tasks while your team focuses on architecture.
|
|
151
|
+
|
|
152
|
+
### Learning & Experimentation
|
|
153
|
+
See how experienced developers would implement your ideas by reviewing the code TRIBE generates.
|
|
154
|
+
|
|
155
|
+
## π§ Commands Reference
|
|
156
|
+
|
|
157
|
+
TRIBE supports both traditional and object-oriented command syntax:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Cluster Management
|
|
161
|
+
tribe start # Start TRIBE cluster
|
|
162
|
+
tribe stop # Stop TRIBE cluster
|
|
163
|
+
tribe status # Check system status
|
|
164
|
+
|
|
165
|
+
# Task Management (two ways)
|
|
166
|
+
tribe submit-prompt "description" # Create new project from prompt
|
|
167
|
+
tribe tasks # List all tasks (object-oriented)
|
|
168
|
+
tribe list-tasks # List all tasks (traditional)
|
|
169
|
+
tribe tasks <id> # Show task details (object-oriented)
|
|
170
|
+
tribe show-task <id> # Show task details (traditional)
|
|
171
|
+
|
|
172
|
+
# Project Management
|
|
173
|
+
tribe projects # List all projects (object-oriented)
|
|
174
|
+
tribe list-projects # List all projects (traditional)
|
|
175
|
+
|
|
176
|
+
# Worker Management
|
|
177
|
+
tribe workers # List workers (object-oriented)
|
|
178
|
+
tribe worker-status # Show worker status (traditional)
|
|
179
|
+
tribe scale-workers <count> # Scale agent count
|
|
180
|
+
|
|
181
|
+
# Advanced Object-Oriented Examples
|
|
182
|
+
tribe pods # List all pods
|
|
183
|
+
tribe pods <name> logs # View pod logs
|
|
184
|
+
tribe services <name> restart # Restart a service
|
|
185
|
+
|
|
186
|
+
# Code Management
|
|
187
|
+
tribe export-branches # Export all branches locally
|
|
188
|
+
tribe export-branch <name> # Export specific branch
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## π€ Community & Support
|
|
192
|
+
|
|
193
|
+
- **GitHub**: [github.com/TRIBE-INC/0zen](https://github.com/TRIBE-INC/0zen)
|
|
194
|
+
- **Issues**: [github.com/TRIBE-INC/0zen/issues](https://github.com/TRIBE-INC/0zen/issues)
|
|
195
|
+
- **Documentation**: [Full documentation in repository](https://github.com/TRIBE-INC/0zen/blob/main/README.md)
|
|
196
|
+
|
|
197
|
+
## π License
|
|
198
|
+
|
|
199
|
+
MIT License - see [LICENSE](https://github.com/TRIBE-INC/0zen/blob/main/LICENSE) for details.
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
<div align="center">
|
|
204
|
+
<h3>π Ready to 10x your development speed?</h3>
|
|
205
|
+
<h2><code>npx @_xtribe/cli@latest</code></h2>
|
|
206
|
+
<p><em>Start building faster with TRIBE today</em></p>
|
|
207
|
+
</div>
|
package/install-tribe.js
CHANGED
|
@@ -639,29 +639,13 @@ async function installTribeCLI() {
|
|
|
639
639
|
// Multiple sources for reliability
|
|
640
640
|
// For testing, use a direct URL to our releases folder
|
|
641
641
|
const isTestEnv = process.env.TRIBE_TEST_BINARY_URL;
|
|
642
|
-
const testBinary = process.env.TRIBE_TEST_BINARY;
|
|
643
642
|
const githubRepo = process.env.TRIBE_INSTALLER_REPO || 'TRIBE-INC/releases';
|
|
644
643
|
|
|
645
|
-
// If we have a test binary file, use it directly
|
|
646
|
-
if (testBinary && fs.existsSync(testBinary)) {
|
|
647
|
-
spinner.text = 'Using test binary...';
|
|
648
|
-
fs.copyFileSync(testBinary, tribeDest);
|
|
649
|
-
fs.chmodSync(tribeDest, '755');
|
|
650
|
-
spinner.succeed('β TRIBE CLI installed from test binary');
|
|
651
|
-
return true;
|
|
652
|
-
}
|
|
653
|
-
|
|
654
644
|
let downloadUrl = '';
|
|
655
645
|
|
|
656
646
|
try {
|
|
657
647
|
spinner.text = 'Fetching latest release information from GitHub...';
|
|
658
|
-
const response = await fetch(`https://api.github.com/repos/${githubRepo}/releases
|
|
659
|
-
headers: {
|
|
660
|
-
'User-Agent': 'TRIBE-Installer',
|
|
661
|
-
// Add token if available in environment
|
|
662
|
-
...(process.env.GITHUB_TOKEN ? { 'Authorization': `token ${process.env.GITHUB_TOKEN}` } : {})
|
|
663
|
-
}
|
|
664
|
-
});
|
|
648
|
+
const response = await fetch(`https://api.github.com/repos/${githubRepo}/releases`);
|
|
665
649
|
if (!response.ok) {
|
|
666
650
|
throw new Error(`GitHub API returned ${response.status}`);
|
|
667
651
|
}
|
|
@@ -669,47 +653,19 @@ async function installTribeCLI() {
|
|
|
669
653
|
if (!releases || releases.length === 0) {
|
|
670
654
|
throw new Error('No releases found');
|
|
671
655
|
}
|
|
672
|
-
|
|
673
|
-
// Find a release with the binary we need
|
|
674
|
-
let foundRelease = null;
|
|
656
|
+
const latestRelease = releases[0];
|
|
675
657
|
const assetName = `tribe-${platform}-${arch}`;
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
if (asset) {
|
|
681
|
-
foundRelease = release;
|
|
682
|
-
downloadUrl = asset.browser_download_url;
|
|
683
|
-
spinner.text = `Found binary in release: ${release.tag_name}`;
|
|
684
|
-
break;
|
|
685
|
-
}
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
if (!foundRelease) {
|
|
689
|
-
// No release has the binary, try constructing URL from latest release
|
|
690
|
-
const latestRelease = releases[0];
|
|
691
|
-
downloadUrl = `https://github.com/${githubRepo}/releases/download/${latestRelease.tag_name}/tribe-${platform}-${arch}`;
|
|
692
|
-
spinner.text = `Trying release: ${latestRelease.tag_name}`;
|
|
658
|
+
const asset = latestRelease.assets.find(a => a.name === assetName);
|
|
659
|
+
|
|
660
|
+
if (!asset) {
|
|
661
|
+
throw new Error(`No binary found for ${platform}-${arch} in release ${latestRelease.tag_name}`);
|
|
693
662
|
}
|
|
663
|
+
|
|
664
|
+
downloadUrl = asset.browser_download_url;
|
|
665
|
+
spinner.text = `Found latest release: ${latestRelease.tag_name}`;
|
|
694
666
|
} catch (error) {
|
|
695
|
-
|
|
696
|
-
//
|
|
697
|
-
try {
|
|
698
|
-
const tagResponse = await fetch(`https://api.github.com/repos/${githubRepo}/releases`, {
|
|
699
|
-
headers: { 'User-Agent': 'TRIBE-Installer' }
|
|
700
|
-
});
|
|
701
|
-
if (tagResponse.ok) {
|
|
702
|
-
const releases = await tagResponse.json();
|
|
703
|
-
if (releases && releases.length > 0) {
|
|
704
|
-
const tag = releases[0].tag_name;
|
|
705
|
-
// Construct direct download URL
|
|
706
|
-
downloadUrl = `https://github.com/${githubRepo}/releases/download/${tag}/tribe-${platform}-${arch}`;
|
|
707
|
-
spinner.text = `Using direct download for release: ${tag}`;
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
} catch (e) {
|
|
711
|
-
// Ignore and use fallback URLs
|
|
712
|
-
}
|
|
667
|
+
spinner.fail(`Failed to get release info: ${error.message}`);
|
|
668
|
+
// Fallback to other methods if the API fails
|
|
713
669
|
}
|
|
714
670
|
|
|
715
671
|
// Check if there's a local build available
|
|
@@ -1037,9 +993,6 @@ async function verifyInstallation() {
|
|
|
1037
993
|
results[tool] = await checkCommand(tool);
|
|
1038
994
|
}
|
|
1039
995
|
|
|
1040
|
-
// Store results globally for later use
|
|
1041
|
-
global.installationChecks = results;
|
|
1042
|
-
|
|
1043
996
|
// Special check for container runtime
|
|
1044
997
|
let containerWorking = false;
|
|
1045
998
|
if (platform === 'darwin') {
|
|
@@ -1570,17 +1523,6 @@ async function forceCleanInstallation() {
|
|
|
1570
1523
|
log.info('npm cache clean attempted (may have failed, which is okay)');
|
|
1571
1524
|
}
|
|
1572
1525
|
|
|
1573
|
-
// Remove first-install marker to allow auto-launch
|
|
1574
|
-
const firstInstallMarker = path.join(tribeDir, '.first-install-complete');
|
|
1575
|
-
if (fs.existsSync(firstInstallMarker)) {
|
|
1576
|
-
try {
|
|
1577
|
-
fs.unlinkSync(firstInstallMarker);
|
|
1578
|
-
log.success('Removed first-install marker');
|
|
1579
|
-
} catch (error) {
|
|
1580
|
-
log.warning(`Could not remove first-install marker: ${error.message}`);
|
|
1581
|
-
}
|
|
1582
|
-
}
|
|
1583
|
-
|
|
1584
1526
|
// Platform-specific cleanup
|
|
1585
1527
|
if (platform === 'darwin') {
|
|
1586
1528
|
// Check if Colima is running and stop it
|
|
@@ -1612,12 +1554,29 @@ async function forceCleanInstallation() {
|
|
|
1612
1554
|
}
|
|
1613
1555
|
|
|
1614
1556
|
async function main() {
|
|
1615
|
-
|
|
1557
|
+
// Fire-themed ASCII art with modern Unicode design
|
|
1558
|
+
console.log('');
|
|
1559
|
+
console.log(chalk.red(` βββββββ βββββββ`) + chalk.yellow(` βββ`) + chalk.red(` `) + chalk.yellow(` βββ `) + chalk.red(`βββββββ`));
|
|
1560
|
+
console.log(chalk.red(` βββββββββββ βββββββββββ`) + chalk.yellow(` βββββ`) + chalk.red(` `) + chalk.yellow(` ββββββ `) + chalk.red(`βββββββββββ`));
|
|
1561
|
+
console.log(chalk.red(` βββββββ βββββββββββββ`) + chalk.yellow(`βββββ`) + chalk.red(` `) + chalk.yellow(`ββββββ `) + chalk.red(`ββββββββββββββ`));
|
|
1562
|
+
console.log(chalk.red(` βββββββ ββββββββββββββ`) + chalk.yellow(` βββββ`) + chalk.red(``) + chalk.yellow(`ββββββ `) + chalk.red(`βββββββ βββββββ`));
|
|
1563
|
+
console.log(chalk.red(` βββββββ βββββββ βββββββ`) + chalk.yellow(` βββββ`) + chalk.red(``) + chalk.yellow(`βββββ `) + chalk.red(`βββββββ βββββββ`));
|
|
1564
|
+
console.log(chalk.red(` βββββββ βββββββ βββββββ`) + chalk.yellow(` βββ`) + chalk.red(`ββ`) + chalk.yellow(`βββ `) + chalk.red(`βββββββ βββββββ`));
|
|
1565
|
+
console.log(chalk.red(` βββββββ βββββββ βββββββ`) + chalk.yellow(` ββ`) + chalk.red(`β`) + chalk.yellow(`ββ `) + chalk.red(`βββββββββββββββββββββ`));
|
|
1566
|
+
console.log(chalk.red(` βββββββ βββββββ βββββββ`) + chalk.yellow(` `) + chalk.red(`β`) + chalk.yellow(` `) + chalk.red(`βββββββ βββββββββββ`));
|
|
1567
|
+
console.log(chalk.red(` βββββββ βββββββ βββββββ`) + chalk.yellow(` `) + chalk.red(`βββββββ βββββββ`));
|
|
1568
|
+
console.log(chalk.red(` βββββββ βββββββ βββββββ`) + chalk.yellow(` `) + chalk.red(`βββββββ βββββββ`));
|
|
1569
|
+
console.log(chalk.red(` βββββββ βββββββ ββββββ`) + chalk.red(`βββββ βββββββ`));
|
|
1570
|
+
console.log('');
|
|
1571
|
+
console.log(chalk.yellow(` βββββββββββββββββββββββββββββββββββββ`));
|
|
1572
|
+
console.log(chalk.yellow(` β `) + chalk.white.bold(`Multi-Agent Orchestration System`) + chalk.yellow(` β`));
|
|
1573
|
+
console.log(chalk.yellow(` βββββββββββββββββββββββββββββββββββββ`));
|
|
1574
|
+
console.log('');
|
|
1616
1575
|
|
|
1617
1576
|
// Detect and display platform info
|
|
1618
1577
|
const displayArch = process.arch === 'x64' ? 'amd64' : process.arch;
|
|
1619
|
-
console.log(chalk.
|
|
1620
|
-
console.log(chalk.
|
|
1578
|
+
console.log(chalk.cyan(`Platform: ${platform} (${displayArch})`));
|
|
1579
|
+
console.log(chalk.cyan(`Node: ${process.version}`));
|
|
1621
1580
|
console.log('');
|
|
1622
1581
|
|
|
1623
1582
|
// Check for unsupported platforms early
|
|
@@ -1719,16 +1678,6 @@ async function main() {
|
|
|
1719
1678
|
// Verify everything first
|
|
1720
1679
|
const verified = await verifyInstallation();
|
|
1721
1680
|
|
|
1722
|
-
// If critical components failed (especially TRIBE CLI), exit with error
|
|
1723
|
-
if (!allSuccess) {
|
|
1724
|
-
// Check specifically if TRIBE CLI installation failed
|
|
1725
|
-
const tribeBinaryExists = fs.existsSync(path.join(tribeBinDir, 'tribe'));
|
|
1726
|
-
if (!tribeBinaryExists) {
|
|
1727
|
-
console.error(chalk.red('\nβ Installation failed: TRIBE CLI could not be installed'));
|
|
1728
|
-
process.exit(1);
|
|
1729
|
-
}
|
|
1730
|
-
}
|
|
1731
|
-
|
|
1732
1681
|
// Try to start container runtime (after showing results)
|
|
1733
1682
|
const runtimeStarted = await startContainerRuntime();
|
|
1734
1683
|
|
|
@@ -1875,22 +1824,6 @@ async function main() {
|
|
|
1875
1824
|
log.info('Then run: tribe start');
|
|
1876
1825
|
}
|
|
1877
1826
|
|
|
1878
|
-
// Auto-launch handling (only for successful installations)
|
|
1879
|
-
const checks = global.installationChecks || {};
|
|
1880
|
-
if (checks.kubectl && checks.tribe) {
|
|
1881
|
-
try {
|
|
1882
|
-
const autoLaunch = require('./install-tribe-autolaunch.js');
|
|
1883
|
-
if (autoLaunch.shouldAutoLaunch()) {
|
|
1884
|
-
console.log(''); // Spacing before auto-launch
|
|
1885
|
-
await autoLaunch.handleAutoLaunch();
|
|
1886
|
-
// If auto-launch takes over, we won't reach here
|
|
1887
|
-
}
|
|
1888
|
-
} catch (error) {
|
|
1889
|
-
// Silently ignore auto-launch errors to not break the installer
|
|
1890
|
-
// Auto-launch is a nice-to-have feature, not critical
|
|
1891
|
-
}
|
|
1892
|
-
}
|
|
1893
|
-
|
|
1894
1827
|
// Exit cleanly
|
|
1895
1828
|
process.exit(0);
|
|
1896
1829
|
}
|
|
@@ -1911,7 +1844,6 @@ if (require.main === module) {
|
|
|
1911
1844
|
console.log(' --verify Only verify existing installation');
|
|
1912
1845
|
console.log(' --dry-run Show what would be installed');
|
|
1913
1846
|
console.log(' --skip-cluster Skip cluster deployment (for testing)');
|
|
1914
|
-
console.log(' --no-start Alias for --skip-cluster (for CI environments)');
|
|
1915
1847
|
console.log(' --force Force clean installation (removes existing installations)');
|
|
1916
1848
|
console.log('\nThis installer sets up the complete TRIBE development environment:');
|
|
1917
1849
|
|
|
@@ -1952,8 +1884,8 @@ if (require.main === module) {
|
|
|
1952
1884
|
process.exit(0);
|
|
1953
1885
|
}
|
|
1954
1886
|
|
|
1955
|
-
// Store skip-cluster flag
|
|
1956
|
-
global.skipCluster = args.includes('--skip-cluster')
|
|
1887
|
+
// Store skip-cluster flag
|
|
1888
|
+
global.skipCluster = args.includes('--skip-cluster');
|
|
1957
1889
|
|
|
1958
1890
|
// Check for force flag
|
|
1959
1891
|
if (args.includes('--force')) {
|
package/package.json
CHANGED
|
@@ -1,27 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@_xtribe/cli",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.0.3",
|
|
4
|
+
"description": "Deploy a team of AI agents that write production-ready code. Transform natural language into working software with autonomous Claude-powered developers.",
|
|
5
5
|
"main": "install-tribe.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"
|
|
8
|
-
"install-tribe": "./install-tribe.js",
|
|
9
|
-
"setup-path": "./setup-path.js"
|
|
7
|
+
"tribe": "install-tribe.js"
|
|
10
8
|
},
|
|
11
9
|
"scripts": {
|
|
12
10
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
13
11
|
},
|
|
14
12
|
"keywords": [
|
|
13
|
+
"ai",
|
|
14
|
+
"claude",
|
|
15
|
+
"anthropic",
|
|
16
|
+
"code-generation",
|
|
17
|
+
"ai-agents",
|
|
18
|
+
"multi-agent",
|
|
19
|
+
"autonomous-development",
|
|
20
|
+
"ai-developer",
|
|
21
|
+
"code-assistant",
|
|
22
|
+
"llm",
|
|
15
23
|
"tribe",
|
|
16
24
|
"cli",
|
|
17
25
|
"kubernetes",
|
|
18
26
|
"docker",
|
|
19
27
|
"colima",
|
|
20
|
-
"multi-agent",
|
|
21
|
-
"ai",
|
|
22
28
|
"development",
|
|
23
|
-
"
|
|
24
|
-
"
|
|
29
|
+
"automation",
|
|
30
|
+
"devtools",
|
|
31
|
+
"productivity",
|
|
32
|
+
"natural-language-programming"
|
|
25
33
|
],
|
|
26
34
|
"engines": {
|
|
27
35
|
"node": ">=16.0.0"
|
|
@@ -36,33 +44,25 @@
|
|
|
36
44
|
"registry": "https://registry.npmjs.org/"
|
|
37
45
|
},
|
|
38
46
|
"files": [
|
|
39
|
-
"index.js",
|
|
40
47
|
"install-tribe.js",
|
|
41
|
-
"install-tribe-minimal.js",
|
|
42
|
-
"install-tribe-autolaunch.js",
|
|
43
|
-
"setup-path.js",
|
|
44
|
-
"install.sh",
|
|
45
|
-
"tribe-deployment.yaml",
|
|
46
48
|
"README.md",
|
|
47
|
-
"AUTOLAUNCH_IMPLEMENTATION.md",
|
|
48
49
|
"package.json"
|
|
49
50
|
],
|
|
50
51
|
"dependencies": {
|
|
51
|
-
"adm-zip": "^0.5.9",
|
|
52
52
|
"chalk": "^4.1.2",
|
|
53
|
-
"node-fetch": "^2.6.7",
|
|
54
53
|
"ora": "^5.4.1",
|
|
54
|
+
"node-fetch": "^2.6.7",
|
|
55
55
|
"tar": "^6.1.15",
|
|
56
56
|
"which": "^2.0.2"
|
|
57
57
|
},
|
|
58
58
|
"repository": {
|
|
59
59
|
"type": "git",
|
|
60
|
-
"url": "git+https://github.com/
|
|
60
|
+
"url": "git+https://github.com/0zen/0zen.git"
|
|
61
61
|
},
|
|
62
|
-
"author": "
|
|
62
|
+
"author": "0zen",
|
|
63
63
|
"license": "MIT",
|
|
64
|
-
"homepage": "https://github.com/
|
|
64
|
+
"homepage": "https://github.com/0zen/0zen",
|
|
65
65
|
"bugs": {
|
|
66
|
-
"url": "https://github.com/
|
|
66
|
+
"url": "https://github.com/0zen/0zen/issues"
|
|
67
67
|
}
|
|
68
68
|
}
|
package/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Default entry point for npx @_xtribe/cli
|
|
5
|
-
* This runs the full installation process
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
// Execute the installer in a way that preserves require.main
|
|
9
|
-
const { spawn } = require('child_process');
|
|
10
|
-
const path = require('path');
|
|
11
|
-
|
|
12
|
-
const installerPath = path.join(__dirname, 'install-tribe.js');
|
|
13
|
-
const child = spawn(process.execPath, [installerPath, ...process.argv.slice(2)], {
|
|
14
|
-
stdio: 'inherit',
|
|
15
|
-
env: process.env
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
child.on('exit', (code) => {
|
|
19
|
-
process.exit(code || 0);
|
|
20
|
-
});
|