Loading...

Reimage Your Server for gstack Installation

Learn how to wipe and reset your Bluehost Self-Managed VPS and Virtual Dedicated Server (VDS) to install gstack. This guide shows you exactly how to use the Bluehost Portal to set up gstack, check your new installation, and protect your files before making the switch. Whether you are installing gstack for the very first time or just need a fresh start on your server, this walkthrough will get you up and running safely and fast.

System Requirements

Before deploying, ensure your server meets the following minimum hardware requirements. For a stable production deployment, we recommend using higher specifications than the minimum requirements.

Resource Minimum Recommended
RAM 4 GB 8 GB
Disk 20 GB 30 GB
CPU 2 vCPUs 4 vCPUs

How to Reimage Your Server for gstack Installation

This guide walks you through installing and setting up gstack using the Bluehost Portal.

  1. Log in to your Bluehost Portal.
  2. In the left-hand menu, click the Hosting tab.

    Self Managed VPS
     

  1. Click the Manage button on the hosting package you want to reimage.

    BH AM - Select Server - Manage
     

  2. Click the Reimage button.

    BH AM - Manage Server - Overview - Reimage button
     

  3. Select the Applications tab.

    BH AM - Manage Server - Overview - Install Application
     

  4. From the list, locate gstack and click Select.

    BH AM - Manage Server - Select gstack From The List Of Application
     

  5. To confirm, type "reimage" and then click Proceed to start the process.

    BH AM - Manage Server - Overview - Proceed with Reimaging
     

  6. Wait a few minutes while the installation completes.

    BH AM - Install - gstack
     

  7. Once completed, you will see gstack listed in the Server Image section.

    BH AM - gstack Installed
     

Getting Started with gstack

gstack turns Claude Code into a complete virtual engineering team. It helps you manage your entire development lifecycle—from early product strategy to final release—using 23 specialized commands.

Follow these steps to set up your environment and start your first sprint.

Step 1: Access your gstack Dashboard

After installation completes:

  1. Log in to your Bluehost Portal.
  2. In the left-hand menu, click the Hosting tab.

    Self Managed VPS
     

  3. Look for the server you want to manage then click the View Details to see more options.

    Self Managed VPS
     

  4. Click the Reset Password.

    Self Managed VPS
     

  5. In the pop-up window, type your new root password, then click Reset Password again to confirm and save the changes.

    Self Managed VPS
     

  1. Connect to your server via SSH.
    Use your server IP and credentials with an SSH client, follow the prompts, and enter your root password when asked:
    ssh root@your_server_ip

    Example Output:

    Welcome to Ubuntu 24.04.4 LTS (GNU/Linux 6.8.0-124-generic x86_64)
    ********************************************************************************
    
    gstack is installed and ready. Claude Code with gstack skills awaits your use.
    
    gstack gives you 23 specialized slash commands covering the full development
    lifecycle: strategy, architecture, code review, QA, security, and release.
    
    IMPORTANT: machinectl is required to enter the gstack user session.
      Without it, user-scoped environment settings will not be loaded correctly.
    
    First-time setup:
      machinectl shell gstack@
      claude auth
      cd ~/my-project && claude
    
    Then inside Claude Code, type /gstack to see all available skills.
    
    Sprint workflow:
      /office-hours       - define the feature
      /plan-eng-review    - validate the technical approach
      /qa                 - generate tests before building
      /ship               - release when done
    
    Updating gstack (inside a claude session):
      /gstack-upgrade
    
    Or manually:
      machinectl shell gstack@
      cd ~/.claude/skills/gstack && git pull && ./setup --quiet
    
    Files:
      Skills   : /home/gstack/.claude/skills/
      Source   : /home/gstack/.claude/skills/gstack
      Config   : /home/gstack/.gstack/
      README   : /root/README.md (root) | /home/gstack/README.md (gstack user)
    
    Installed:
      Node.js    : v22.23.0
      Bun        : 1.3.14
      Claude Code  : 2.1.186 (Claude Code)
      Server IP    : 12.1.1.123
    
    ********************************************************************************
    To delete this message of the day: rm -rf /etc/update-motd.d/99-gstack

Step 2: Switch to the gstack User

gstack runs under its own user account for security. Switch to this session by running:

machinectl shell gstack@

Example Output:

root@server-12345:~# machinectl shell gstack@
Connected to the local host. Press ^] three times within 1s to exit session.
gstack@server-12345:~$

Step 3: Authorize Claude Code

Before you start coding, you need to connect Claude Code to your Anthropic account. You have two options:

  • Option A (Interactive): Run claude auth and follow the prompts on your screen.
    claude auth

    Example Output:

    gstack@server-12345:~$ claude auth
    Usage: claude auth [options] [command]
    
    Manage authentication
    
    Options:
      -h, --help        Display help for command
    
    Commands:
      help [command]    display help for command
      login [options]    Sign in to your Anthropic account
      logout            Log out from your Anthropic account
      status [options]  Show authentication status
  • Option B (Environment Variable): Alternatively, you can set your key directly in your current session:
    export ANTHROPIC_API_KEY=your_key_here

Step 4: Start Your First Sprint

If you haven't created the project folder yet.

You can create it and then enter it:

  1. Choose the text style that looks best with your terminal and then click Enter.
    mkdir ~/my-project
    cd ~/my-project
    claude

    Example Output:

    gstack@server-12345:~$ mkdir ~/my-project
    cd ~/my-project
    claude
    mkdir: cannot create directory ‘/home/gstack/my-project’: File exists
    Welcome to Claude Code v2.1.186
    ..........................................................
    
         *                                       █████▓▓░
                                     *         ███▓░     ░░
                ░░░░░░                        ███▓░
        ░░░   ░░░░░░░░░░                      ███▓░
       ░░░░░░░░░░░░░░░░░░░    *                ██▓░░      ▓
                                                 ░▓▓███▓▓░
     *                                 ░░░░
                                     ░░░░░░░░
                                   ░░░░░░░░░░░░░░░░
           █████████                                        *
          ██▄█████▄██                        *
           █████████      *
    .......█ █   █ █..........................................
    
     Let's get started.
    
     Choose the text style that looks best with your terminal
     To change this later, run /theme
    
       1. Auto (match terminal)
     ❯ 2. Dark mode ✔
       3. Light mode
       4. Dark mode (colorblind-friendly)
       5. Light mode (colorblind-friendly)
       6. Dark mode (ANSI colors only)
       7. Light mode (ANSI colors only)
    
     ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
      1  function greet() {
      2 -  console.log("Hello, World!");
      2 +  console.log("Hello, Claude!");
      3  }
     ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
      Syntax theme: Monokai Extended (ctrl+t to disable)
    
  2. To finalize your setup in the Claude Code CLI, please select the billing method that applies to your situation:
    • Option 1: Select this if you have an active Claude Pro, Max, Team, or Enterprise subscription and wish to apply your existing plan benefits.
    • Option 2: Select this if you prefer to be billed based on API usage via your Anthropic Console account.
    • Option 3: Select this if you are connecting through a specific cloud provider platform (e.g., AWS, Azure, or Google Cloud).

    After highlighting your choice, press Enter to proceed with the authentication flow.

    Example Output:

    Welcome to Claude Code v2.1.186
    ..........................................................
    
         *                                       █████▓▓░
                                     *         ███▓░     ░░
                ░░░░░░                        ███▓░
        ░░░   ░░░░░░░░░░                      ███▓░
       ░░░░░░░░░░░░░░░░░░░    *                ██▓░░      ▓
    Welcome to Claude Code v2.1.186
    ..........................................................
    
         *                                       █████▓▓░
                                     *         ███▓░     ░░
                ░░░░░░                        ███▓░
        ░░░   ░░░░░░░░░░                      ███▓░
       ░░░░░░░░░░░░░░░░░░░    *                ██▓░░      ▓
                                                 ░▓▓███▓▓░
     *                                 ░░░░
                                     ░░░░░░░░
                                   ░░░░░░░░░░░░░░░░
           █████████                                        *
          ██▄█████▄██                        *
           █████████      *
    .......█ █   █ █..........................................
    
     Claude Code can be used with your Claude subscription or billed based on API usage through your Console account.
    
     Select login method:
    
     ❯ 1. Claude account with subscription · Pro, Max, Team, or Enterprise
       2. Anthropic Console account · API usage billing
       3. 3rd-party platform · Amazon Bedrock, Microsoft Foundry, or Vertex AI
  3. If your browser fails to launch automatically, copy the URL below and paste it into your browser to complete the sign-in process.
    • Retrieve Code: Follow the prompts in the browser; once authorized, you will be provided with a verification code.
    • Finalize: Copy that verification code, return to your terminal, paste it when prompted, and press Enter.

    Example Output:

         *                                    █████▓▓░
                                        *          ███▓░       ░░
              ░░░░░░                      ███▓░
        ░░░   ░░░░░░░░░░                  ███▓░
       ░░░░░░░░░░░░░░░░░░░    *           ██▓░░      ▓
                                           ░▓▓███▓▓░
     *                                  ░░░░
                                      ░░░░░░░░
                                     ░░░░░░░░░░░░░░░░
          █████████                                        *
          ██▄█████▄██                  *
           █████████     *
    .......█ █   █ █..........................................
    
     Browser didn't open? Use the url below to sign in (c to copy)
    
    https://claude.com/cai/oauth/authorize?code=true&client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e&response_type=code&redirect_uri=https%3A%2F%2Fplatform.claude.com%2Foauth%2Fcode%2Fcallback&scope=org%3Acreate_api_key+user
    
     Paste code here if prompted >

If the project is in a different location.

If your project is already located elsewhere, use the ls command to look around and find the correct path:

  • List files in your home directory: ls -F (The -F flag will helpfully add a / after folder names).
  • Navigate to the correct folder: Once you identify the folder, use cd path/to/your/project.
  • Run Claude: After you are inside the correct directory, run claude again.

Step 5: Open Your Project

Now that your environment is ready, you can start managing your projects using the gstack-powered Claude CLI.

cd ~/my-project

Example Output:

gstack@server-12345:~$ cd ~/my-project
gstack@server-12345:~/my-project$
claude

Example Output:


Authentication successful!

Welcome to Claude Code (v2.1.186).
You are now in: /home/gstack/my-project

How can I help you with your code today?
(Type /help to see available commands)

gstack@server-12345:~/my-project $ claude>
/gstack
  1. Navigate to your code: Move into the directory containing your project:
  2. Start the session: Simply type:
  3. Verify available tools: Once the CLI is active, type /gstack to see the full menu of 23 specialized skills.

Keeping gstack Up to Date

To make sure you always have the latest features and improvements, run this command inside your Claude Code session:

/gstack-upgrade

gstack Skills Reference

Below is the comprehensive list of available skills to help you manage your software development lifecycle.

Skill Purpose
/office-hours Product strategy and vision
/plan-eng-review Architecture and technical planning
/plan-design-review Design review and iteration
/qa Quality assurance and test generation
/qa-only Run QA without a broader context
/review Code review
/cso Security audit using OWASP and STRIDE
/ship Release management
/land-and-deploy Deploy to production
/design-html HTML/CSS design iteration
/document-generate Generate documentation
/browse Web browsing and research
/pair-agent Multi-agent browser collaboration
/gstack-upgrade Update gstack to the latest version

Additional Information and Example Documentation Output

You can run cat /root/README.md to see more information and useful commands:
root@server-123456:~# cat /root/README.md
# gstack
## Description

gstack is an open-source AI-powered software factory that transforms Claude Code into a virtual engineering team. It provides 23 specialized slash command skills covering the complete software development lifecycle from product strategy and architecture review through quality assurance and release management. Created by Garry Tan (Y Combinator President and CEO), gstack implements a structured sprint methodology so individual developers can ship at the velocity of large teams.

The sprint cycle follows: Think, Plan, Build, Review, Test, Ship, and Reflect. Each skill feeds into the next, creating a continuous pipeline where design docs from office-hours automatically inform downstream planning phases and test matrices from engineering reviews guide QA workflows.

## Services

Service | Port | Purpose
--------|------|--------
OpenSSH | 22   | SSH access

Ports are protected using ufw.


## What Gets Installed

- Claude Code latest (global CLI: `@anthropic-ai/claude-code`)
- Bun runtime latest (JavaScript/TypeScript runtime required by gstack)
- gstack skills (23 specialized slash commands, source at `/home/gstack/.claude/skills/gstack`)
- Playwright Chromium (headless browser for the `/browse` and `/design-html` skills)
- Installed to: `/home/gstack/.claude/skills/gstack`
- Runs as user: `gstack`


## First Boot Behavior

- Cloud-init completes OS initialization
- All gstack skills and the browse binary are ready to use
- Claude Code requires authentication with an Anthropic API key before first use
- gstack is NOT auto-started; it runs interactively when you invoke `claude`


## First-Time Setup

1. SSH to the server as root
2. Switch to the gstack user session:
   ```
   machinectl shell gstack@
   ```
3. Authenticate Claude Code with your Anthropic API key:
   ```
   claude auth
   ```
   Alternatively, export your key directly:
   ```
   export ANTHROPIC_API_KEY=sk-ant-...
   ```
4. Navigate to your project directory and start a Claude Code session:
   ```
   cd ~/my-project
   claude
   ```
5. Type `/gstack` inside Claude Code to see all available skills


## Key Skills

Skill | Purpose
------|--------
`/office-hours` | Product strategy and vision
`/plan-eng-review` | Architecture and technical planning
`/plan-design-review` | Design review and iteration
`/qa` | Quality assurance and test generation
`/qa-only` | Run QA without broader context
`/review` | Code review
`/cso` | Security audit using OWASP and STRIDE
`/ship` | Release management
`/land-and-deploy` | Deploy to production
`/design-html` | HTML/CSS design iteration
`/document-generate` | Generate documentation
`/browse` | Web browsing and research
`/pair-agent` | Multi-agent browser collaboration
`/gstack-upgrade` | Update gstack to the latest version


## Updating gstack

Run the built-in upgrade skill from inside a Claude Code session:
```
/gstack-upgrade
```

Or update manually:
```
cd ~/.claude/skills/gstack && git pull && ./setup --quiet
```


## Firewall

UFW is enabled and allows:
- Port 22 (SSH, rate-limited)

All other inbound ports are blocked by default.


## File Locations

Location | Purpose
---------|--------
`/home/gstack/.claude/skills/gstack` | gstack source repository and compiled browse binary
`/home/gstack/.claude/skills/` | Registered Claude Code skills directory
`/home/gstack/.gstack/` | gstack global state and configuration
`/root/README.md` | This documentation (root user)
`/home/gstack/README.md` | This documentation (gstack user)
`/etc/motd.d/99-gstack` | Login message of the day


## Minimum Resources

Resource | Minimum | Recommended
---------|---------|------------
RAM      | 4 GB    | 8 GB
Disk     | 20 GB   | 30 GB
CPU      | 2       | 4


## Next Steps

After launching your image and connecting via SSH:

1. Switch to the gstack user: `machinectl shell gstack@`
2. Authenticate Claude Code: run `claude auth` and follow the prompts, or set `ANTHROPIC_API_KEY` in your shell
3. Navigate to your project: `cd ~/my-project`
4. Start a Claude Code session: `claude`
5. Explore available skills: type `/gstack` to see all 23 skills
6. Begin a sprint: start with `/office-hours` for product strategy or `/plan-eng-review` for technical architecture
7. Keep gstack current: run `/gstack-upgrade` periodically to pull the latest skills

A complete sprint workflow looks like:
```
/office-hours       -> define the feature
/plan-eng-review    -> validate the technical approach
/qa                 -> generate tests before building
/ship               -> release when done
```


## Links

Documentation: [https://github.com/garrytan/gstack](https://github.com/garrytan/gstack)

Community: [https://github.com/garrytan/gstack/discussions](https://github.com/garrytan/gstack/discussions)

Issues: [https://github.com/garrytan/gstack/issues](https://github.com/garrytan/gstack/issues)
root@server-646875:~# client_loop: send disconnect: Connection reset

Summary

Reimaging your Self-Managed VPS and Virtual Dedicated Server (VDS) for gstack installation is a straightforward process using the one-click installer. Remember that this action will erase all existing data and settings, so always back up important information before proceeding. If you wish to keep your current template, manual installation via SSH is recommended. Once the process is complete, gstack will be ready for use on your server.

Loading...