@_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.
@@ -231,11 +231,8 @@ async function handleAutoLaunch() {
231
231
  await sleep(1000);
232
232
  }
233
233
 
234
- // Check and start cluster if needed (skip if --no-start was used)
235
- const args = process.argv.slice(2);
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();
@@ -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
- const versionChannel = global.versionChannel || 'latest';
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 filteredReleases) {
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 ${versionChannel} release: ${release.tag_name}`;
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 first filtered release
711
- const firstRelease = filteredReleases[0];
712
- if (firstRelease) {
713
- downloadUrl = `https://github.com/${githubRepo}/releases/download/${firstRelease.tag_name}/tribe-${platform}-${arch}`;
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 (use tribe-new, not cli-gui)
741
- const localBuildPath = path.join(__dirname, '..', '..', '..', 'sdk', 'cmd', 'tribe-new', 'tribe');
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 Show this help message');
1954
- console.log(' --verify Only verify existing installation');
1955
- console.log(' --dry-run Show what would be installed');
1956
- console.log(' --skip-cluster Skip cluster deployment (for testing)');
1957
- console.log(' --no-start Alias for --skip-cluster (for CI environments)');
1958
- console.log(' --force Force clean installation (removes existing installations)');
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
- ${TRIBE_INSTALL_COMMAND}@latest "$@"
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@_xtribe/cli",
3
- "version": "1.0.62",
3
+ "version": "2.0.0",
4
4
  "description": "TRIBE multi-agent development system - Zero to productive with one command",
5
5
  "main": "install-tribe.js",
6
6
  "bin": {
@@ -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