Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/eigencompute/howto/build/create-app-from-template.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Create Application
sidebar_position: 1
sidebar_position: 2
---

The EigenX CLI provides templates for creating EigenCompute application projects with all required configuration files.
Expand All @@ -18,8 +18,8 @@ Templates are available in:
* Rust.

:::tip
The EigenX CLI works with existing Docker projects and images. If you are working with an existing project or image,
skip this step and refer to deploying an application for next steps.
The EigenX CLI works with existing Docker projects and images. If have an existing project or image,
refer to [Deploy Existing Project](../deploy/deploy-existing-project.md).
:::

## Create an application from a template
Expand Down
27 changes: 27 additions & 0 deletions docs/eigencompute/howto/build/set-up-multiple-environments.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: Set Up Multiple Environments
sidebar_position: 4
---

```bash
# Development
eigenx environment set dev
eigenx app create api-dev typescript
cd api-dev
eigenx app deploy

# Staging
cd ..
eigenx environment set staging
eigenx app create api-staging typescript
cd api-staging
eigenx app deploy

# Production
cd ..
eigenx environment set prod
eigenx app create api-prod typescript
cd api-prod
eigenx app configure tls
eigenx app deploy
Comment on lines +8 to +26
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is wrong - we don't have these environment

we have these two

eigenx environment list
2025/11/25 19:36:31 Available deployment environments:
2025/11/25 19:36:31   • sepolia - Ethereum Sepolia testnet (active)
2025/11/25 19:36:31   • mainnet-alpha - Ethereum mainnet (⚠️  uses real funds)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And devs using eigenx aren't creating new environments anyway are they? Removing this section.

```
52 changes: 52 additions & 0 deletions docs/eigencompute/howto/build/start-new-project.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: Start New Project
sidebar_position: 1
---

The high level steps to start and deploy a new project are:

## 1. Create from template

```
eigenx app create my-app typescript
```

For more information, refer to [Create Application](create-app-from-template.md).

## 2. Configure environment

```bash
cd my-app
cp .env.example .env
```

Edit `.env` with your settings.

## 3. Test locally (if needed)

```bash
npm install
npm run dev
```

## 4. Deploy to TEE

```
eigenx app deploy
```

## 5. Set a friendly name

```
eigenx app name <app-id> my-production-app
```

For more information, refer to [Name Application](../configure/name-application.md).

## 6. (Optional) Add TLS if needed

```bash
eigenx app configure tls
```

For more inforamtion, refer to [Configure TLS](../deploy-to-production/configure-tls.md).
2 changes: 1 addition & 1 deletion docs/eigencompute/howto/build/use-app-wallet.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Use App Wallet
sidebar_position: 2
sidebar_position: 3
---

:::important
Expand Down
69 changes: 69 additions & 0 deletions docs/eigencompute/howto/configure/name-application.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: Name Application
sidebar_position: 3
---

Configuring an application name provides the following benefits:

- Easier to remember - Use descriptive names instead of IDs
- Better organization - Distinguish between multiple apps
- Simplified commands - Type less when managing apps
- Team collaboration - Share meaningful app names with team members

Use cases include:

- Multiple environments - `api-dev`, `api-staging`, `api-prod`
- Multiple apps - `trading-bot`, `monitoring-service`, `data-processor`
- Version tracking - `api-v1`, `api-v2`
- Team clarity - Meaningful names for team members

## Name a newly deployed app

```bash
# After deployment, you get an app ID
eigenx app deploy
# Output: Deployed successfully! App ID: app-1a2b3c4d

# Set a friendly name
eigenx app name app-1a2b3c4d trading-bot
```

Output:
```
✓ App renamed successfully

App ID: app-1a2b3c4d
Name: trading-bot

You can now use 'trading-bot' in place of the app ID in commands.
```

## Rename an existing app

```bash
eigenx app name trading-bot production-trading-bot
```

## Use the friendly name in commands

```bash
# These are now equivalent:
eigenx app info trading-bot
eigenx app info app-1a2b3c4d

eigenx app logs trading-bot
eigenx app logs app-1a2b3c4d
```

## Naming Best Practices

Good names:
- `production-api`
- `staging-web-app`
- `discord-bot-v2`
- `ml-inference-service`

Avoid:
- Generic names: `app1`, `test`, `new`
- Special characters: `my@app`, `app#123`
- Spaces: `my app` (use hyphens: `my-app`)
36 changes: 36 additions & 0 deletions docs/eigencompute/howto/deploy/deploy-existing-project.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: Deploy Existing Project
sidebar_position: 1
---

You don't need to use `eigenx app create` if you have an existing project. The CLI works with any Docker-based project:

## 1. Navigate to your project

```bash
cd my-existing-project
```

## 2. Create .env if needed

```bash
touch .env
```

Add your environment variables.

## 3. Deploy

Ensure you have a Dockerfile and .env. The CLI will prompt if not found.

```bash
eigenx app deploy
```

# 5. Add TLS if needed

```bash
eigenx app configure tls
```

For more information, refer to [Configure TLS](../deploy-to-production/configure-tls.md).
157 changes: 2 additions & 155 deletions docs/eigencompute/reference/cli-commands/project-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_position: 2

# Project Management Commands

These commands help you create new projects and configure existing ones for deployment to EigenX.
These commands help you create new projects and configure existing ones for deployment to EigenCompute.

## Commands Overview

Expand Down Expand Up @@ -45,19 +45,6 @@ eigenx app create [name] [language] [--template <url>] [--template-version <vers
| `golang` | Go template | High-performance services |
| `rust` | Rust template | Systems programming, performance-critical apps |

### Working Without Templates

You don't need to use `eigenx app create` if you have an existing project. The CLI works with any Docker-based project:

```bash
cd my-existing-project

# Ensure you have a Dockerfile and .env
# The CLI will prompt if not found

eigenx app deploy
```

---

## configure tls
Expand Down Expand Up @@ -90,147 +77,7 @@ eigenx app name [command options] <app-id|current-name> [new-name]
| `app-id\|current-name` | Application ID or current name | Yes |
| `new-name` | New friendly name for the app | No (omit to remove name) |

### Examples

**Name a newly deployed app**

```bash
# After deployment, you get an app ID
eigenx app deploy
# Output: Deployed successfully! App ID: app-1a2b3c4d

# Set a friendly name
eigenx app name app-1a2b3c4d trading-bot
```

Output:
```
✓ App renamed successfully

App ID: app-1a2b3c4d
Name: trading-bot

You can now use 'trading-bot' in place of the app ID in commands.
```

**Rename an existing app**

```bash
eigenx app name trading-bot production-trading-bot
```

**Use the friendly name in commands**

```bash
# These are now equivalent:
eigenx app info trading-bot
eigenx app info app-1a2b3c4d

eigenx app logs trading-bot
eigenx app logs app-1a2b3c4d
```

### Benefits

- **Easier to remember** - Use descriptive names instead of IDs
- **Better organization** - Distinguish between multiple apps
- **Simplified commands** - Type less when managing apps
- **Team collaboration** - Share meaningful app names with team members

### Naming Best Practices

**Good names:**
- `production-api`
- `staging-web-app`
- `discord-bot-v2`
- `ml-inference-service`

**Avoid:**
- Generic names: `app1`, `test`, `new`
- Special characters: `my@app`, `app#123`
- Spaces: `my app` (use hyphens: `my-app`)

### Use Cases

- **Multiple environments** - `api-dev`, `api-staging`, `api-prod`
- **Multiple apps** - `trading-bot`, `monitoring-service`, `data-processor`
- **Version tracking** - `api-v1`, `api-v2`
- **Team clarity** - Meaningful names for team members

---

## Best Practices

### Starting a New Project

```bash
# 1. Create from template
eigenx app create my-app typescript

# 2. Configure environment
cd my-app
cp .env.example .env
# Edit .env with your settings

# 3. Test locally (if needed)
npm install
npm run dev

# 4. Deploy to TEE
eigenx app deploy

# 5. Set a friendly name
eigenx app name <app-id> my-production-app

# 6. (Optional) Add TLS if needed
eigenx app configure tls
# Configure DNS and deploy
```

### Converting Existing Projects

```bash
# 1. Navigate to your project
cd my-existing-project

# 2. Ensure you have a Dockerfile
# Modify to target linux/amd64 and run as root

# 3. Create .env if needed
touch .env
# Add your environment variables

# 4. Deploy
eigenx app deploy

# 5. Add TLS if needed
eigenx app configure tls
```

### Multi-Environment Setup

```bash
# Development
eigenx environment set dev
eigenx app create api-dev typescript
cd api-dev
eigenx app deploy

# Staging
cd ..
eigenx environment set staging
eigenx app create api-staging typescript
cd api-staging
eigenx app deploy

# Production
cd ..
eigenx environment set prod
eigenx app create api-prod typescript
cd api-prod
eigenx app configure tls
eigenx app deploy
```
For examples and naming best practices, refer to [Name Application](../../howto/configure/name-application.md).

---

Expand Down