@_xtribe/cli 1.0.62 → 2.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.
- package/install-tribe-autolaunch.js +2 -5
- package/install-tribe-minimal.js +1 -1
- package/install-tribe.js +16 -69
- package/install.sh +1 -10
- package/package.json +1 -1
- package/tribe-deployment.yaml +0 -8
|
@@ -231,11 +231,8 @@ async function handleAutoLaunch() {
|
|
|
231
231
|
await sleep(1000);
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
-
// Check and start cluster if needed
|
|
235
|
-
|
|
236
|
-
const skipCluster = args.includes('--skip-cluster') || args.includes('--no-start');
|
|
237
|
-
|
|
238
|
-
if (!skipCluster && !await isClusterRunning()) {
|
|
234
|
+
// Check and start cluster if needed
|
|
235
|
+
if (!await isClusterRunning()) {
|
|
239
236
|
const started = await startCluster();
|
|
240
237
|
if (!started) {
|
|
241
238
|
showManualInstructions();
|
package/install-tribe-minimal.js
CHANGED
|
@@ -108,7 +108,7 @@ function updatePath() {
|
|
|
108
108
|
const tribeEnvPath = path.join(tribeDir, 'tribe-env.sh');
|
|
109
109
|
const envScriptContent = `#!/bin/bash
|
|
110
110
|
# TRIBE CLI Environment Setup
|
|
111
|
-
# Auto-generated by TRIBE installer
|
|
111
|
+
# Auto-generated by TRIBE minimal installer
|
|
112
112
|
|
|
113
113
|
# Add TRIBE bin directory to PATH if not already present
|
|
114
114
|
TRIBE_BIN_DIR="$HOME/.tribe/bin"
|
package/install-tribe.js
CHANGED
|
@@ -654,8 +654,7 @@ async function installTribeCLI() {
|
|
|
654
654
|
let downloadUrl = '';
|
|
655
655
|
|
|
656
656
|
try {
|
|
657
|
-
|
|
658
|
-
spinner.text = `Fetching ${versionChannel} release information from GitHub...`;
|
|
657
|
+
spinner.text = 'Fetching latest release information from GitHub...';
|
|
659
658
|
const response = await fetch(`https://api.github.com/repos/${githubRepo}/releases`, {
|
|
660
659
|
headers: {
|
|
661
660
|
'User-Agent': 'TRIBE-Installer',
|
|
@@ -671,50 +670,26 @@ async function installTribeCLI() {
|
|
|
671
670
|
throw new Error('No releases found');
|
|
672
671
|
}
|
|
673
672
|
|
|
674
|
-
// Filter releases based on version channel
|
|
675
|
-
let filteredReleases = releases.filter(r => !r.draft);
|
|
676
|
-
|
|
677
|
-
if (versionChannel === 'beta') {
|
|
678
|
-
// For beta, look for releases with 'beta' in tag name
|
|
679
|
-
filteredReleases = filteredReleases.filter(r => r.tag_name.includes('beta'));
|
|
680
|
-
spinner.text = 'Looking for beta releases...';
|
|
681
|
-
} else if (versionChannel === 'latest') {
|
|
682
|
-
// For latest, exclude beta releases
|
|
683
|
-
filteredReleases = filteredReleases.filter(r => !r.tag_name.includes('beta'));
|
|
684
|
-
spinner.text = 'Looking for stable releases...';
|
|
685
|
-
} else {
|
|
686
|
-
// For specific version, look for exact match
|
|
687
|
-
filteredReleases = filteredReleases.filter(r => r.tag_name === versionChannel);
|
|
688
|
-
spinner.text = `Looking for version ${versionChannel}...`;
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
if (filteredReleases.length === 0) {
|
|
692
|
-
throw new Error(`No releases found for channel: ${versionChannel}`);
|
|
693
|
-
}
|
|
694
|
-
|
|
695
673
|
// Find a release with the binary we need
|
|
696
674
|
let foundRelease = null;
|
|
697
675
|
const assetName = `tribe-${platform}-${arch}`;
|
|
698
676
|
|
|
699
|
-
for (const release of
|
|
677
|
+
for (const release of releases) {
|
|
678
|
+
if (release.draft) continue;
|
|
700
679
|
const asset = release.assets?.find(a => a.name === assetName || a.name === `${assetName}.exe`);
|
|
701
680
|
if (asset) {
|
|
702
681
|
foundRelease = release;
|
|
703
682
|
downloadUrl = asset.browser_download_url;
|
|
704
|
-
spinner.text = `Found binary in
|
|
683
|
+
spinner.text = `Found binary in release: ${release.tag_name}`;
|
|
705
684
|
break;
|
|
706
685
|
}
|
|
707
686
|
}
|
|
708
687
|
|
|
709
688
|
if (!foundRelease) {
|
|
710
|
-
// No release has the binary, try constructing URL from
|
|
711
|
-
const
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
spinner.text = `Trying ${versionChannel} release: ${firstRelease.tag_name}`;
|
|
715
|
-
} else {
|
|
716
|
-
throw new Error(`No suitable release found for channel: ${versionChannel}`);
|
|
717
|
-
}
|
|
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}`;
|
|
718
693
|
}
|
|
719
694
|
} catch (error) {
|
|
720
695
|
log.warning(`Failed to get release info: ${error.message}`);
|
|
@@ -737,8 +712,8 @@ async function installTribeCLI() {
|
|
|
737
712
|
}
|
|
738
713
|
}
|
|
739
714
|
|
|
740
|
-
// Check if there's a local build available
|
|
741
|
-
const localBuildPath = path.join(__dirname, '..', '..', '..', 'sdk', 'cmd', '
|
|
715
|
+
// Check if there's a local build available
|
|
716
|
+
const localBuildPath = path.join(__dirname, '..', '..', '..', 'sdk', 'cmd', 'cli-gui', 'tribe');
|
|
742
717
|
const hasLocalBuild = fs.existsSync(localBuildPath);
|
|
743
718
|
|
|
744
719
|
const sources = isTestEnv ? [isTestEnv] : [
|
|
@@ -1928,43 +1903,16 @@ if (!global.fetch) {
|
|
|
1928
1903
|
if (require.main === module) {
|
|
1929
1904
|
const args = process.argv.slice(2);
|
|
1930
1905
|
|
|
1931
|
-
// Parse version/channel flags
|
|
1932
|
-
let versionChannel = 'latest'; // default to latest stable
|
|
1933
|
-
const versionArg = args.find(arg => arg.startsWith('--version='));
|
|
1934
|
-
const channelArg = args.find(arg => arg.startsWith('--channel='));
|
|
1935
|
-
|
|
1936
|
-
if (versionArg) {
|
|
1937
|
-
versionChannel = versionArg.split('=')[1];
|
|
1938
|
-
} else if (channelArg) {
|
|
1939
|
-
versionChannel = channelArg.split('=')[1];
|
|
1940
|
-
} else if (args.includes('--beta')) {
|
|
1941
|
-
versionChannel = 'beta';
|
|
1942
|
-
} else if (args.includes('--latest')) {
|
|
1943
|
-
versionChannel = 'latest';
|
|
1944
|
-
}
|
|
1945
|
-
|
|
1946
|
-
// Store globally for use in download functions
|
|
1947
|
-
global.versionChannel = versionChannel;
|
|
1948
|
-
|
|
1949
1906
|
if (args.includes('--help') || args.includes('-h')) {
|
|
1950
1907
|
console.log(chalk.bold.blue('TRIBE CLI Installer\n'));
|
|
1951
1908
|
console.log('Usage: npx @_xtribe/cli [options]\n');
|
|
1952
1909
|
console.log('Options:');
|
|
1953
|
-
console.log(' --help, -h
|
|
1954
|
-
console.log(' --verify
|
|
1955
|
-
console.log(' --dry-run
|
|
1956
|
-
console.log(' --skip-cluster
|
|
1957
|
-
console.log(' --no-start
|
|
1958
|
-
console.log(' --force
|
|
1959
|
-
console.log(' --latest Install latest stable release (default)');
|
|
1960
|
-
console.log(' --beta Install latest beta release');
|
|
1961
|
-
console.log(' --version=TAG Install specific version tag');
|
|
1962
|
-
console.log(' --channel=CHANNEL Install from specific channel (latest/beta)');
|
|
1963
|
-
console.log('\nVersion Examples:');
|
|
1964
|
-
console.log(' npx @_xtribe/cli@latest # Latest stable (equivalent to --latest)');
|
|
1965
|
-
console.log(' npx @_xtribe/cli@beta # Latest beta');
|
|
1966
|
-
console.log(' npx @_xtribe/cli --beta # Latest beta (flag version)');
|
|
1967
|
-
console.log(' npx @_xtribe/cli --version=v1.2.3 # Specific version');
|
|
1910
|
+
console.log(' --help, -h Show this help message');
|
|
1911
|
+
console.log(' --verify Only verify existing installation');
|
|
1912
|
+
console.log(' --dry-run Show what would be installed');
|
|
1913
|
+
console.log(' --skip-cluster Skip cluster deployment (for testing)');
|
|
1914
|
+
console.log(' --no-start Alias for --skip-cluster (for CI environments)');
|
|
1915
|
+
console.log(' --force Force clean installation (removes existing installations)');
|
|
1968
1916
|
console.log('\nThis installer sets up the complete TRIBE development environment:');
|
|
1969
1917
|
|
|
1970
1918
|
if (platform === 'darwin') {
|
|
@@ -1997,7 +1945,6 @@ if (require.main === module) {
|
|
|
1997
1945
|
console.log(chalk.bold.blue('🔍 TRIBE CLI Installation Preview\n'));
|
|
1998
1946
|
log.info(`Platform: ${platform} (${arch})`);
|
|
1999
1947
|
log.info(`Install directory: ${binDir}`);
|
|
2000
|
-
log.info(`Version channel: ${versionChannel}`);
|
|
2001
1948
|
console.log('\nWould install:');
|
|
2002
1949
|
console.log('• Colima - Container runtime with Kubernetes (macOS only)');
|
|
2003
1950
|
console.log('• kubectl - Kubernetes CLI');
|
package/install.sh
CHANGED
|
@@ -2,15 +2,6 @@
|
|
|
2
2
|
# TRIBE Quick Installer
|
|
3
3
|
# This script provides a one-command installation with immediate PATH access
|
|
4
4
|
|
|
5
|
-
# Source constants
|
|
6
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
|
-
source "$SCRIPT_DIR/../../../constants.sh" 2>/dev/null || true
|
|
8
|
-
|
|
9
|
-
# If constants not found, define locally
|
|
10
|
-
if [ -z "$TRIBE_INSTALL_COMMAND" ]; then
|
|
11
|
-
TRIBE_INSTALL_COMMAND="npx @_xtribe/cli"
|
|
12
|
-
fi
|
|
13
|
-
|
|
14
5
|
# Colors
|
|
15
6
|
RED='\033[0;31m'
|
|
16
7
|
GREEN='\033[0;32m'
|
|
@@ -23,7 +14,7 @@ echo ""
|
|
|
23
14
|
|
|
24
15
|
# Download and run the installer
|
|
25
16
|
echo "Installing TRIBE components..."
|
|
26
|
-
|
|
17
|
+
npx @_xtribe/cli@latest "$@"
|
|
27
18
|
|
|
28
19
|
# Check if installation was successful
|
|
29
20
|
if [ -f ~/.tribe/tribe-env.sh ]; then
|
package/package.json
CHANGED
package/tribe-deployment.yaml
CHANGED
|
@@ -8,14 +8,6 @@
|
|
|
8
8
|
# - tribexal/tribe:latest-claude-agent
|
|
9
9
|
#
|
|
10
10
|
# DO NOT change these to local image names for the npm package!
|
|
11
|
-
# ⚠️ CRITICAL WARNING: DATA PROTECTION ⚠️
|
|
12
|
-
# BEFORE APPLYING THIS MANIFEST:
|
|
13
|
-
# 1. Run: /Users/almorris/TRIBE/0zen/scripts/data-safety-check.sh
|
|
14
|
-
# 2. Check for existing PVCs: kubectl get pvc -n tribe-system
|
|
15
|
-
# 3. NEVER delete PVCs - they contain your data!
|
|
16
|
-
#
|
|
17
|
-
# This manifest will CREATE resources if they don't exist
|
|
18
|
-
# or UPDATE them if they do. PVCs are NEVER deleted.
|
|
19
11
|
---
|
|
20
12
|
apiVersion: v1
|
|
21
13
|
kind: Namespace
|