Loading...
Loading...
Flightcontrol configuration management. Use this skill when adding, editing, creating, or modifying flightcontrol.json or flightcontrol.cue configuration files. Covers services, environments, build settings, and deployment configurations.
npx skill4agent add flightcontrolhq/skills flightcontrol-configflightcontrol.jsonflightcontrol.cueflightcontrol.jsonflightcontrol.cuehttps://app.flightcontrol.dev/schema.jsonhttps://www.flightcontrol.dev/docs{
"$schema": "https://app.flightcontrol.dev/schema.json",
"environments": []
}{
"$schema": "https://app.flightcontrol.dev/schema.json",
"envVariables": {},
"environments": [
{
"id": "production",
"name": "Production",
"region": "us-west-2",
"source": { "branch": "main" },
"services": []
}
]
}envVariablesidnameregionsourceservicesenvVariablesvpcidnametypeenvVariablesdependsOnwatchPathswebweb-privateworkerschedulerstaticrdselasticachelambda-functionnetwork-servers3{
"id": "api",
"name": "API Server",
"type": "web",
"buildType": "nixpacks",
"cpu": 0.5,
"memory": 1,
"port": 3000,
"minInstances": 1,
"maxInstances": 3
}{
"id": "worker",
"name": "Background Worker",
"type": "worker",
"buildType": "nixpacks",
"cpu": 0.5,
"memory": 1,
"startCommand": "npm run worker"
}{
"id": "cron",
"name": "Scheduled Tasks",
"type": "scheduler",
"buildType": "nixpacks",
"cpu": 0.5,
"memory": 1,
"jobs": {
"daily-report": {
"schedule": "0 0 * * *",
"startCommand": ["node", "scripts/daily-report.js"]
}
}
}{
"id": "frontend",
"name": "Frontend",
"type": "static",
"buildType": "nixpacks",
"buildCommand": "npm run build",
"outputDirectory": "dist",
"singlePageApp": true
}{
"id": "db",
"name": "Database",
"type": "rds",
"engine": "postgres",
"engineVersion": "16",
"instanceSize": "db.t4g.micro",
"storage": 20,
"private": true
}{
"id": "redis",
"name": "Redis Cache",
"type": "elasticache",
"engine": "redis",
"engineVersion": "7.1",
"instanceSize": "cache.t4g.micro"
}{
"id": "lambda-api",
"name": "Lambda API",
"type": "lambda-function",
"buildType": "docker",
"dockerfilePath": "./Dockerfile.lambda",
"lambda": {
"packageType": "image",
"memory": 512,
"timeoutSecs": 30
}
}{
"id": "grpc-api",
"name": "gRPC API",
"type": "network-server",
"buildType": "docker",
"cpu": 1,
"memory": 2,
"ports": [
{
"port": 50051,
"protocol": "grpc",
"healthCheck": {}
}
]
}{
"id": "uploads",
"name": "User Uploads",
"type": "s3",
"bucketNameBase": "myapp-uploads"
}"envVariables": {
"NODE_ENV": "production",
"DEBUG": false
}"DATABASE_URL": {
"fromService": {
"id": "db",
"value": "dbConnectionString"
}
}"STRIPE_SECRET_KEY": {
"fromParameterStore": "myapp/stripe/secret_key"
}"DB_PASSWORD": {
"fromSecretsManager": "arn:aws:secretsmanager:us-west-2:123456789:secret:myapp/db-password"
}{
"id": "preview",
"name": "Preview",
"region": "us-west-2",
"source": {
"pr": true,
"trigger": "push",
"filter": {
"toBranches": ["main"],
"fromBranches": ["feature/**"]
}
},
"services": []
}["/bin/sh", "-c", "pnpm start"]npx flightcontrol-validate <config-file>012{ "valid": true, "file": "flightcontrol.json" }{
"valid": false,
"file": "flightcontrol.json",
"errors": {
"environments": [
{
"services": [
{
"memory": "Invalid input: expected number, received string"
}
]
}
]
}
}npx flightcontrol-validate <file>$schemaidfromService.id