This guide provides detailed instructions for setting up and running {ProjectName} Manager.
- Operating System: macOS (tested), Linux (expected to work)
- Node.js: Version 22.16.0 (required for the Electron app)
- Git: For cloning the repository and managing project repositories
- npm or yarn: Package manager
- Electron App: Requires Node.js 22.16.0
- Managed Projects: The Isolation Project commands that run in the terminals may require different Node.js version other then 22.16.0, depending on the specific project configuration
I recommend using nvm to manage multiple Node.js versions:
# Install nvm (if not already installed)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Install and use Node.js 22.16.0 for the Electron app
nvm install 22.16.0
nvm use 22.16.0
# The app will handle switching Node versions for managed projectsImportant: Always clone your organization's specific project branch, not the main branch. Each organization has its own customized configuration.
# Clone your project's specific branch (replace YourProject with your actual project name)
git clone -b Project-YourProject https://github.com/sagy101/ProjectName-Manager.git
cd ProjectName-Manager
# If you're unsure of your project branch name, you can:
# 1. Check with your team lead or project maintainer
# 2. List all available project branches:
git branch -r | grep "Project-"Project Branch Examples:
Project-Isolation- For Isolation Project teamProject-Acme- For Acme CorporationProject-TechCorp- For TechCorp organization
If you don't have a project branch yet, see the Contributing Guide for information on setting up a new project branch.
# Ensure you're using Node.js 22.16.0
nvm use 22.16.0
# Install all dependencies
npm installThe application uses native modules (like node-pty) that need to be rebuilt for Electron:
npm run rebuildThis step is crucial for terminal functionality to work properly.
Build the renderer process bundle:
npm run buildThis step is required to generate the dist/renderer.js file that the application loads.
npm startThe application should launch and display the main window.
After completing the initial setup, you only need to run:
npm startThe build artifacts from step 4 are persistent, so you don't need to rebuild unless:
- You pull new code changes
- You modify source files (unless using
npm run watch) - You encounter issues that require a fresh build
For active development with automatic rebuilding:
# Terminal 1: Watch for file changes and rebuild
npm run watch
# Terminal 2: Run the application (rebuild will happen automatically via watch)
npm startNote: When using npm run watch, you don't need to manually run npm run build as the watch process handles automatic rebuilding.
To manually build the application for development (with source maps and debugging):
npm run build:devFor production builds:
npm run build# Run all tests (Jest + E2E)
npm test
# Run only Jest tests
npm run test:jest
# Run E2E tests
npm run test:e2e
# Run tests with coverage
npm run test:jest:coverage:htmlWhen you first launch {ProjectName} Manager, you'll need to:
The application will automatically check for required tools and dependencies:
- Look at the "General Environment" section
- Red indicators show missing or misconfigured tools
- Click "Fix" buttons to automatically install/configure tools
Each section in the sidebar represents a project or service:
- Enable sections you want to use
- Select deployment modes (Container/Process)
- Configure any dropdown options
For a quick environment setup:
- Click the wrench icon (🔧) in the App Control Sidebar
- Review the commands that will be executed
- Click "Start Auto Setup"
- Monitor progress and address any failures
Once everything is configured:
- Click "Run {ProjectName}" to start all enabled services
- Monitor the terminal tabs for each service
- Use the Health Report to view overall system status
If terminals show errors or don't display output:
# Rebuild node-pty for Electron
npm run rebuild
# If still having issues, try:
npx @electron/rebuild -f -w node-ptySome operations may require elevated permissions:
- Fix commands that install system tools may need sudo
- Docker operations require Docker daemon to be running
- File operations need appropriate directory permissions
If verifications fail:
- Check the specific error message
- Use the "Fix" button if available
- Or manually install the required tool
- Re-run verification to confirm
macOS:
- Homebrew is often used for tool installation
- Some tools may require Xcode Command Line Tools
Linux:
- Package manager varies by distribution
- May need to adjust fix commands for your package manager
- Read the Configuration Overview to understand the JSON configuration system
- Explore the Terminal System Guide to learn about terminal capabilities
- Check the Auto Setup Guide for automated environment configuration
- Review the Architecture Overview to understand how the system works
