Installation

Conduct can be installed from source using the provided Makefile. This guide covers system requirements, installation methods, verification steps, and troubleshooting common issues.

Requirements

Before installing Conduct, ensure your system meets the following requirements:

Component Minimum Version Recommended Notes
Go 1.21+ 1.22+ Required for building from source
Git 2.0+ Latest Required for cloning repository
Make 3.8+ Latest Build automation tool
Operating System Linux, macOS, Windows Linux/macOS All major platforms supported
Go Version Check

Verify your Go installation with go version. If Go is not installed or outdated, download it from golang.org/dl.

Checking Requirements

# Check Go version
go version

# Check Git version
git --version

# Check Make version
make --version

Installation Methods

Method 1: Install from Source (Local User)

This method installs Conduct to your local Go bin directory ($GOPATH/bin or $HOME/go/bin) without requiring administrator privileges.

1Clone the Repository

git clone https://github.com/AGI-Tooling/Orchestrator.git
cd Conduct

2Build and Install

make install

This command will:

3Add to PATH (if needed)

If $GOPATH/bin is not in your PATH, add it to your shell configuration:

# For bash (~/.bashrc or ~/.bash_profile)
export PATH="$PATH:$(go env GOPATH)/bin"

# For zsh (~/.zshrc)
export PATH="$PATH:$(go env GOPATH)/bin"

# For fish (~/.config/fish/config.fish)
set -gx PATH $PATH (go env GOPATH)/bin

Reload your shell configuration:

# For bash/zsh
source ~/.bashrc  # or ~/.zshrc

# For fish
source ~/.config/fish/config.fish

Method 2: Global Installation (System-Wide)

This method installs Conduct to /usr/local/bin, making it available to all users on the system. Requires administrator privileges.

1Clone the Repository

git clone https://github.com/AGI-Tooling/Orchestrator.git
cd Conduct

2Install Globally

make install-global

On Linux/macOS, you may need to use sudo:

sudo make install-global
Administrator Access Required

Global installation requires write permissions to /usr/local/bin. On most systems, this requires sudo or administrator privileges.

Verifying Installation

After installation, verify that Conduct is correctly installed and accessible:

Check Installation Location

# Find the conduct binary
which conduct

# Check both command variants
which conduct

Expected output:

/Users/username/go/bin/conduct  # Local install
/usr/local/bin/conduct           # Global install

Verify Version

conduct --version

Test Basic Commands

# Display help
conduct --help

# List available commands
conduct

# Test coverage command
conduct coverage --help
Installation Successful

If all commands execute without errors, Conduct is correctly installed and ready to use. Proceed to the Quick Start Guide.

Building from Source (Advanced)

For developers or advanced users who want more control over the build process:

Manual Build Process

# Clone repository
git clone https://github.com/AGI-Tooling/Orchestrator.git
cd Conduct

# Download dependencies
go mod download

# Build binary
go build -o conduct cmd/conduct/main.go

# Test the binary
./conduct --version

# Install manually
cp conduct $(go env GOPATH)/bin/
ln -s $(go env GOPATH)/bin/conduct $(go env GOPATH)/bin/conduct

Build Targets

The Makefile provides several build targets:

Target Command Description
build make build Compile binary to local directory
install make install Install to user's Go bin directory
install-global make install-global Install to /usr/local/bin (system-wide)
clean make clean Remove built binaries and artifacts
test make test Run test suite

Custom Build Options

# Build with version information
go build -ldflags "-X main.version=1.0.0" -o conduct cmd/conduct/main.go

# Build for specific platform
GOOS=linux GOARCH=amd64 go build -o conduct-linux cmd/conduct/main.go

# Build with optimizations
go build -ldflags="-s -w" -o conduct cmd/conduct/main.go

Troubleshooting

Command Not Found

Problem

conduct: command not found after installation

Solutions:

  1. Verify Go bin directory is in PATH:
    echo $PATH | grep $(go env GOPATH)/bin
  2. Add Go bin to PATH (see installation instructions)
  3. Reload shell configuration:
    source ~/.bashrc  # or ~/.zshrc
  4. Verify installation location:
    ls -la $(go env GOPATH)/bin/conduct

Permission Denied

Problem

permission denied during global installation

Solutions:

  1. Use sudo for global installation:
    sudo make install-global
  2. Or use local installation instead:
    make install

Go Version Too Old

Problem

go: go.mod requires go >= 1.21

Solutions:

  1. Update Go to version 1.21 or higher:
    # Download from golang.org
    wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
    
    # Extract and install
    sudo rm -rf /usr/local/go
    sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
  2. Verify updated version:
    go version

Build Failures

Problem

Build fails with dependency or compilation errors

Solutions:

  1. Clean build artifacts:
    make clean
  2. Clear Go module cache:
    go clean -modcache
  3. Re-download dependencies:
    go mod download
  4. Retry build:
    make install

Module Download Issues

Problem

Network errors or timeout downloading Go modules

Solutions:

  1. Check internet connection
  2. Use Go proxy:
    export GOPROXY=https://proxy.golang.org,direct
  3. Retry download:
    go mod download

Documentation Not Found

Problem

Embedded documentation not accessible via conduct docs

Solutions:

  1. Verify documentation is embedded during build
  2. Rebuild with documentation:
    make clean
    make install
  3. Access documentation directly in repository:
    open internal/docs/site/index.html

Uninstallation

Remove Local Installation

# Remove binaries from Go bin
rm $(go env GOPATH)/bin/conduct
rm $(go env GOPATH)/bin/conduct

Remove Global Installation

# Remove binaries from system bin
sudo rm /usr/local/bin/conduct
sudo rm /usr/local/bin/conduct

Clean Build Directory

cd Conduct
make clean
Next Steps

After successful installation, proceed to the Quick Start Guide to begin using Conduct for screenplay analysis and model deployment.