From flyio-pack
Installs flyctl CLI and configures Fly.io authentication via login or API tokens for projects, deploy tokens, and Machines API edge compute.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin flyio-packThis skill is limited to using the following tools:
Install `flyctl` CLI and configure authentication for Fly.io edge compute platform. Two auth methods: **interactive login** (opens browser) and **API tokens** (CI/CD and Machines API). The Machines API base URL is `https://api.machines.dev`.
Implements TypeScript clients and patterns for Fly.io Machines API: typed REST calls, lifecycle management, state waiting, multi-region deployments with Docker images.
Provides quick reference for Fly.io PaaS deployments including fly.toml config, global distribution, scaling patterns, secrets management, health checks, and troubleshooting. Auto-loads on fly.toml detection.
Deploys and manages Fly.io apps using Docker containers, Fly Machines, fly.toml configs, databases, volumes, secrets. Supports fly launch/deploy, debugging, multi-region setups for Python/Node/Rails/Django apps.
Share bugs, ideas, or general feedback.
Install flyctl CLI and configure authentication for Fly.io edge compute platform. Two auth methods: interactive login (opens browser) and API tokens (CI/CD and Machines API). The Machines API base URL is https://api.machines.dev.
# macOS / Linux
curl -L https://fly.io/install.sh | sh
# Or via Homebrew
brew install flyctl
# Verify
fly version
# Interactive login (opens browser)
fly auth login
# Or with token (CI/CD)
fly auth token # Get current token
export FLY_API_TOKEN="fo1_your_token_here"
# Verify auth
fly auth whoami
# Create deploy token (scoped to an app)
fly tokens create deploy -a my-app
# Create org-level token
fly tokens create org
# Use with Machines API
curl -s -H "Authorization: Bearer $FLY_API_TOKEN" \
https://api.machines.dev/v1/apps | jq '.[].name'
const FLY_API = 'https://api.machines.dev';
async function verifyFlyAccess() {
const res = await fetch(`${FLY_API}/v1/apps`, {
headers: { 'Authorization': `Bearer ${process.env.FLY_API_TOKEN}` },
});
const apps = await res.json();
console.log(`Connected. Found ${apps.length} apps.`);
apps.forEach((app: any) => console.log(` ${app.name} (${app.organization.slug})`));
}
| Token Type | Scope | Lifetime | Use Case |
|---|---|---|---|
| User token | All orgs/apps | Until revoked | Development, personal |
| Deploy token | Single app | Until revoked | CI/CD per app |
| Org token | All apps in org | Until revoked | Org-wide automation |
| Machines token | API access | Until revoked | Machines API calls |
| Error | Cause | Solution |
|---|---|---|
Error: not authenticated | No token set | Run fly auth login or set FLY_API_TOKEN |
401 Unauthorized | Invalid/expired token | Regenerate with fly tokens create |
Could not find app | Wrong app name | Check with fly apps list |
flyctl not found | CLI not installed | Run install script above |
After auth, proceed to flyio-hello-world for your first deployment.