Preparing Your Developer Environment: Account, CLI, GitHub App, and First Build

Before you build your first component, you need a few things set up: a developer account, the CLI tool, a connected GitHub repository, and the GitHub App installed. This guide walks through the complete setup so you're ready to build, submit, and publish.

Step 1: Create Your Developer Account

Head to developer.lifesavor.ai and sign up. You can use Google OAuth or email — either works. Complete the developer agreement and fill in your profile.

Once you're in, generate an API key from the portal (Settings → API Keys). Your key will have an lsk_ prefix. Save it somewhere secure — you'll need it for the CLI and the MCP server.

API keys have scopes:

  • Read — view components, builds, logs
  • Write — create, update, submit, build, publish
  • For development, generate a key with both scopes

Step 2: Install the CLI

The lsai-cli is your primary tool for managing components from the terminal.

# macOS (Homebrew)
curl -fsSL https://download.lifesavor.ai/lsai-cli/latest/homebrew/install.sh | bash

# Debian / Ubuntu
curl -fsSL https://download.lifesavor.ai/lsai-cli/apt/setup.sh | sudo bash

# Fedora / RHEL / Amazon Linux
curl -fsSL https://download.lifesavor.ai/lsai-cli/yum/setup.sh | sudo bash

# Windows
winget install LifeSavorAI.lsai-cli

# From source (Rust 1.75+)
cargo install --path developer/cli

Then configure it with your API key:

lsai-cli setup
# Paste your lsk_ key when prompted

# Verify it worked
lsai-cli whoami

You should see your display name, email, and key scopes.

Step 3: Install the GitHub App

The Life Savor GitHub App gives the build pipeline access to your repository. It replaces the old shared-token approach with scoped, per-developer access that you control.

Why a GitHub App?

  • You grant access only to the repos you choose
  • Permissions are scoped (read-only code access for builds)
  • You can revoke access anytime from your GitHub settings
  • No shared tokens or manual key exchange

How to install:

  1. Go to your component's page in the developer portal
  2. Click "Connect Repository"
  3. You'll be redirected to GitHub to install the Life Savor app
  4. Select the repository (or repositories) you want to grant access to
  5. GitHub redirects you back — the connection completes automatically

Or from the CLI:

lsai-cli components connect \
  --component <component-id> \
  --repo-url https://github.com/you/my-skill

If the GitHub App isn't installed yet, the CLI will print the installation URL and guide you through it.

Already installed the app? If you've previously installed it for another component, the platform detects your existing installation and skips the install step — it just connects the new repo directly.

Step 4: Create Your First Component

lsai-cli components create \
  --name my-first-skill \
  --type skill \
  --language node

This creates a draft component on the platform and returns a component ID. Write it down.

Step 5: Set Required Metadata

Before you can submit for review, you need a description, category, tags, compatibility, and license:

lsai-cli components update <component-id> \
  --description "A skill that does something useful" \
  --category Productivity \
  --tags automation,utility \
  --compatibility linux,macos,windows \
  --license MIT

Valid categories: Productivity, Communication, Developer Tools, Data, Media, Security, Automation, Monitoring, General

Valid platforms: linux, macos, windows, ios, android, tvos

Valid licenses: MIT, Apache-2.0, GPL-3.0, BSD-2-Clause, BSD-3-Clause, ISC, MPL-2.0, LGPL-3.0, Proprietary, Custom

Step 6: Add Build Configuration

Create a lifesavor-build.yml in your repository root:

version: 1
component:
  type: skill
  name: my-first-skill
build:
  language: node
  command: npm run build
  artifact: dist/

For Rust components:

version: 1
component:
  type: skill
  name: my-first-skill
build:
  language: rust
  command: cargo build --release
  artifact: target/release/my-first-skill

This tells the build pipeline how to compile your component and where to find the output.

Step 7: Set Build Targets

Choose which platforms to build for:

lsai-cli builds set-targets --component <component-id> \
  --platforms linux-x86_64,linux-arm64,macos-arm64,windows-x86_64

You can start with just one platform and add more later.

Step 8: Submit for Review

lsai-cli components submit <component-id>

This puts your component in the QA review queue. The platform checks that all required metadata is present. If anything's missing, you'll get a clear error message telling you what to fix.

Step 9: Trigger a Build

# Build for all configured platforms
lsai-cli builds submit --component <component-id> --all-platforms

# Or just one platform
lsai-cli builds submit --component <component-id> --platform linux-x86_64

Check build status:

lsai-cli builds list --component <component-id>
lsai-cli builds logs --component <component-id> --status failed

Step 10: Publish

Once QA approves your component and you have at least one successful build:

lsai-cli components publish \
  --component <component-id> \
  --version 1.0.0 \
  --notes "Initial release"

Your component is now live on the marketplace.

Optional: Set Up the MCP Server

For a faster development experience, connect the Developer MCP Server to your IDE. Add this to your MCP configuration:

{
  "mcpServers": {
    "lifesavor-developer": {
      "url": "https://mcp.developer.lifesavor.ai/sse",
      "headers": {
        "Authorization": "Bearer lsk_your_key_here"
      }
    }
  }
}

Now you can scaffold, validate, build, and manage components directly from your editor.

Optional: Set Up Webhooks

Get notified when builds complete or reviews finish:

lsai-cli webhooks create \
  --component <component-id> \
  --url https://your-server.com/webhooks/lifesavor \
  --events build.succeeded,build.failed,review.approved

Webhook payloads are signed with HMAC-SHA256 so you can verify they're authentic.

Optional: Build Secrets

If your build needs API keys or credentials (for integration tests, for example):

lsai-cli secrets set --component <component-id> --key MY_API_KEY --value sk-abc123

Secrets are stored encrypted and injected as environment variables during builds. They're never exposed in logs.

The Complete Flow

Account → CLI → GitHub App → Create → Metadata → Build Config → Submit → Build → Publish

Once this is set up, your ongoing workflow is just: push code → build triggers → publish new version. The infrastructure stays out of your way.

Troubleshooting

"Repository access denied" — The GitHub App isn't installed or doesn't have access to that repo. Visit the installation URL and grant access.

"Missing required fields" — Run lsai-cli components status <id> to see what's missing before submission.

"Build failed" — Check logs with lsai-cli builds logs --component <id> --status failed. Common issues: missing dependencies, wrong artifact path, build command errors.

"Key expired" — Generate a new API key from the portal and run lsai-cli setup again.


That's everything. You're set up to build, test, and publish components on the Life Savor platform. Start with a simple skill, get comfortable with the workflow, then scale up to models and assistants.