Skip to main content

Project Management Commands

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

Commands Overview

CommandDescription
eigenx app create [name] [language]Create new project from template
eigenx app configure tlsAdd TLS configuration to your project
eigenx app name <app-id|name> <new-name>Set a friendly name for your app

Subcommands

create

Create an application project from a template with all necessary configuration files. For more information on creating applications, refer to Create Application.

eigenx app create [name] [language] [--template <url>] [--template-version <version>]
ArgumentDescriptionRequired
nameName for your application directoryNo (prompts if not provided)
languageTemplate language to useNo (prompts if not provided)
FlagDescription
--template <url>Custom template repository URL
--template-version <version>Template version/tag to use

Supported Languages

LanguageDescriptionUse Case
typescriptTypeScript/Node.js templateWeb services, APIs, bots
pythonPython templateML/AI, data processing, scripts
golangGo templateHigh-performance services
rustRust templateSystems 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:

cd my-existing-project

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

eigenx app deploy

configure tls

Add TLS/HTTPS configuration to your project for secure domain access. This command adds:

  • Caddy Server Configuration - Automatic HTTPS with Let's Encrypt using Caddyfile
  • Environment Variables - Example TLS configuration in .env.example.tls

For more information on configuring TLS, refer to Configure TLS.

eigenx app configure tls

eigenx app name

Set or update a friendly name for your application, making it easier to reference in commands.

Syntax

eigenx app name [command options] <app-id|current-name> [new-name]

Arguments

ArgumentDescriptionRequired
app-id|current-nameApplication ID or current nameYes
new-nameNew friendly name for the appNo (omit to remove name)

Examples

Name a newly deployed app

# 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

eigenx app name trading-bot production-trading-bot

Use the friendly name in commands

# 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

# 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

# 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

# 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