Installation & Setup
Complete guide to setting up LangCTL for your team, including both the web dashboard and CLI tool.
Prerequisites
Before installing LangCTL, ensure you have:
For Dashboard
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Valid email address
- Internet connection
For CLI
- Node.js 16 or higher (Download)
- npm or yarn package manager
- Terminal/Command line access
- LangCTL account (for API key)
Verify Node.js Installation
node --version
npm --version - Navigate to app.langctl.com/signup
- Fill in registration form:
- Full Name: Your first and last name
- Email: Valid email address (you’ll receive confirmation)
- Password: Minimum 8 characters, include letters and numbers
- Click “Sign Up”
[IMAGE: signup-form.png - Registration form with all fields]
Your password must contain at least:
- 8 characters
- 1 uppercase letter
- 1 lowercase letter
- 1 number
After signing up:
- Check your email inbox
- Open the verification email from LangCTL
- Click the verification link
- You’ll be redirected to the app
Didn’t receive the email? Check your spam folder or click “Resend verification email” on the login page.
After verifying your email and signing in:
- You’ll be redirected to the “Create Organization” page
- Enter your organization name:
- Can be your company name, team name, or project name
- Examples: “Acme Inc”, “My Startup”, “Personal Projects”
- Click “Create Organization”
[IMAGE: create-organization.png - Organization creation form]
An organization is the top-level container for your projects, team members, and subscription. All your translation projects will belong to this organization.
After creating your organization, you’ll see the main dashboard:
[IMAGE: dashboard-first-view.png - Empty dashboard with tour highlights]
- Sidebar Navigation: Access projects, team, API keys, settings
- Quick Actions: Create project, invite team
- Stats Overview: Projects, team members, keys count
- Recent Activity: Latest changes and updates
- Click on your organization name (top-right)
- Select “Organization Settings”
- Configure:
- Organization name
- Subscription plan
- Billing information (for paid plans)
npm install -g langctl The -g flag installs langctl globally, making it available from any directory.
yarn global add langctl Run without installing:
npx langctl --version Use npx langctl if you want to try the CLI without installing it globally, or if you need to use a specific version.
langctl --version
langctl --help If you see the version number, installation was successful!
If you get command not found: langctl after npm install:
-
Check npm global bin path:
npm config get prefix -
Add to PATH (macOS/Linux):
export PATH="$PATH:$(npm config get prefix)/bin" -
Reload shell:
source ~/.zshrc # or ~/.bashrc
If you get permission errors:
npx langctl
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
npm install -g langctl On Windows, ensure Node.js bin directory is in PATH:
-
Open System Properties -> Environment Variables
-
Edit PATH variable
-
Add:
%APPDATA%\\npm -
Restart terminal
-
Log in to app.langctl.com
-
Navigate to Organization -> API Keys
-
Click ”+ Create API Key”
-
Enter a descriptive name:
- Examples: “My Laptop”, “CI/CD”, “Development”
-
Click “Create”
-
Copy the API key immediately (it’s shown only once!)
[IMAGE: api-key-creation.png - API key creation modal] [IMAGE: api-key-display.png - API key display with copy button]
The API key is displayed only once for security reasons. If you lose it, you’ll need to create a new one. Store it securely (e.g., in a password manager).
langctl init [IMAGE: cli-init.png - Terminal showing init process]
langctl auth lc_your_api_key_here For CI/CD or temporary use:
export LANGCTL_API_KEY=lc_your_api_key_here
langctl projects list # No authentication needed langctl org info If you see your organization info, authentication was successful!
The CLI stores configuration in ~/.langctl/config.json:
{
"apiKey": "lc_****...****",
"organizationId": "uuid-here",
"organizationName": "My Company",
"defaultLanguage": "en",
"defaultProject": null
} langctl config langctl config set defaultLanguage es
langctl config set defaultProject my-app To switch between organizations or environments:
export LANGCTL_API_KEY=lc_prod_key_here
langctl export my-app
export LANGCTL_API_KEY=lc_dev_key_here
langctl import my-app test.json ✅ DO:
- Store API keys in environment variables for CI/CD
- Use separate API keys for different environments
- Revoke unused API keys
- Rotate keys periodically (every 90 days)
- Use descriptive names to track key usage
❌ DON’T:
- Commit API keys to version control
- Share API keys via email or chat
- Use production keys in development
- Store keys in plain text files in your repository
.langctl/
langctl.config.json
.env
LANGCTL_API_KEY=lc_your_key_here
export LANGCTL_API_KEY=$(cat .env | grep LANGCTL_API_KEY | cut -d '=' -f2) Use secrets management:
- GitHub Actions: Use repository secrets
- GitLab CI: Use CI/CD variables
- CircleCI: Use environment variables
- Jenkins: Use credentials plugin
- name: Export translations
env:
LANGCTL_API_KEY: ${{ secrets.LANGCTL_API_KEY }}
run: |
langctl export my-app -l en - Navigate to Organization -> Team
- Click ”+ Invite Member”
- Enter email address
- Select role:
- Owner: Full access (cannot be changed)
- Admin: Manage team, projects, translations
- Member: Edit translations
- Viewer: Read-only access
- Click “Send Invitation”
[IMAGE: invite-member.png - Member invitation modal]
langctl team invite [email protected] --role member
langctl team invite [email protected] --role admin - Team member receives invitation email
- Clicks invitation link
- Creates account (if new) or signs in
- Automatically added to organization
- Can access projects based on role
Now that you’re set up, continue with:
- Dashboard Overview - Learn the web interface
- CLI Reference - Master CLI commands
- Quick Start - Create your first project
- Platform Integrations - Integrate with your framework
If you need to uninstall LangCTL:
npm uninstall -g langctl
yarn global remove langctl rm -rf ~/.langctl Delete Dashboard Account
- Log in to dashboard
- Go to Organization Settings
- Scroll to “Danger Zone”
- Click “Delete Organization”
- Confirm deletion
Deleting your organization will permanently delete all projects, translations, and team member access. This action cannot be undone.