Internal Developer Platform CLI โ Self-service infrastructure, service creation, health monitoring, and dependency visualization for developers
Project description
๐ Internal Developer Platform (IDP) CLI
A powerful CLI tool that enables self-service infrastructure and service creation for developers, following modern Platform Engineering principles.
The IDP CLI automates the creation of production-ready services by generating repositories, CI/CD pipelines, Kubernetes deployments, and observability integrations โ enabling developers to bootstrap new services in seconds.
๐ฏ Problem
In many organizations, creating a new service requires multiple manual steps:
- Requesting a repository
- Setting up CI/CD pipelines
- Writing Dockerfiles
- Creating Kubernetes manifests
- Configuring monitoring and alerts
- Setting up environments
This process slows down development and increases operational overhead.
๐ก Solution
The Internal Developer Platform CLI provides a self-service developer platform where engineers can create fully configured services with a single command.
Example:
idp-cli create-service payment-service --template python-api
This automatically generates:
- Service repository with application code
- CI/CD pipeline (GitHub Actions / GitLab CI / Jenkins)
- Docker configuration (multi-stage, non-root)
- Kubernetes deployment manifests (with Kustomize overlays)
- Environment configuration (dev / staging / production)
- Monitoring setup (Prometheus rules, Grafana dashboards)
- Documentation templates (README, deployment guide, architecture)
โจ Features
๐ง Service Scaffolding
Generate production-ready microservices using prebuilt templates.
๐ Backend APIs
| Template | Description | Language | Framework |
|---|---|---|---|
python-api |
Production-ready Python API service | Python | FastAPI |
node-api |
Production-ready Node.js API service | JavaScript | Express |
go-api |
Production-ready Go API service | Go | Gin |
rust-api |
High-performance Rust API service | Rust | Axum |
python-graphql |
GraphQL API with Strawberry and FastAPI | Python | Strawberry |
ml-inference |
Machine learning model inference API | Python | FastAPI |
๐จ Frontend Applications
| Template | Description | Language | Framework |
|---|---|---|---|
react-frontend |
React frontend with TypeScript and Vite | TypeScript | React |
nextjs-fullstack |
Full-stack application with Next.js | TypeScript | Next.js |
static-site |
Modern static site with HTML, CSS, JS | JavaScript | Vanilla |
๐ ๏ธ Developer Tools
| Template | Description | Language | Framework |
|---|---|---|---|
python-cli |
Command-line tool with Click and Rich | Python | Click |
worker |
Background worker/job processing service | Python | Celery |
โ๏ธ CI/CD Automation
Automatically include CI/CD pipelines for new services.
| Provider | Pipeline Includes |
|---|---|
github-actions |
Build, Test, Security scan, Docker build, Deploy |
gitlab-ci |
Lint, Test, Security, Build, Deploy (staging + production) |
jenkins |
Checkout, Lint, Test, Security, Docker build/push, Deploy |
๐ณ Containerization
Automatically generate optimized Docker configurations:
- Multi-stage builds
- Secure base images
- Non-root containers
- Health checks
โธ๏ธ Kubernetes Deployment
Generate Kubernetes manifests with Kustomize overlays:
- Deployments with resource limits
- Services (ClusterIP)
- ConfigMaps
- Horizontal Pod Autoscaler
- Liveness, readiness, and startup probes
- Environment-specific overlays (dev/staging/production)
๐ GitOps Integration
Supports GitOps workflows:
| Tool | Generated Artifacts |
|---|---|
argocd |
Application manifests per environment, AppProject |
flux |
GitRepository source, Kustomization per environment |
๐ Observability Integration
Automatically configure monitoring:
- Prometheus alerting rules (error rate, latency, pod restarts)
- ServiceMonitor for Prometheus Operator
- Grafana dashboard template (request rate, latency, errors, CPU, memory)
๐งฉ Multi-Environment Support
Environment-specific configuration via Kustomize overlays:
| Environment | Replicas | CPU Limit | Memory Limit |
|---|---|---|---|
dev |
1 | 250m | 256Mi |
staging |
2 | 500m | 512Mi |
production |
3 | 1000m | 1Gi |
๐ฅ Service Health Monitoring
Monitor the health and availability of your deployed services across different environments.
# Check health of all services in dev environment
idp-cli health --environment dev
# Check health of a specific service
idp-cli health --service payment-api --environment staging
# Continuously monitor service health
idp-cli health --watch --interval 15
๐ Service Dependency Visualization
Understand service relationships and identify potential issues like circular dependencies.
# Show dependency tree
idp-cli deps --environment dev --format tree
# Show dependency table with deployment order
idp-cli deps --format table --deployment-order
# Generate Mermaid diagram for documentation
idp-cli deps --format mermaid
# Check for circular dependencies
idp-cli deps --check-cycles
๐ Environment Status Check
Verify that your environment infrastructure is ready for deployments.
# Check all environment components
idp-cli env-status --environment dev
# Check specific component only
idp-cli env-status --component kubernetes --detailed
# Check production environment readiness
idp-cli env-status --environment production
๐ Documentation Generation
Auto-generated documentation:
README.mdโ Quick start, project structure, next stepsdocs/deployment.mdโ Deployment guide for all environmentsdocs/architecture.mdโ Architecture overview and design principles
๐ฏ Template Coverage
The IDP CLI supports 11 production-ready templates covering the entire modern development stack:
| Category | Templates | Use Cases |
|---|---|---|
| Backend APIs (6) | python-api, node-api, go-api, rust-api, python-graphql, ml-inference |
Microservices, APIs, GraphQL, ML services |
| Frontend Apps (3) | react-frontend, nextjs-fullstack, static-site |
SPAs, full-stack apps, marketing sites |
| Developer Tools (2) | python-cli, worker |
CLI tools, background jobs, task processing |
Each template includes:
- โ Production-ready code with best practices
- โ Comprehensive testing setup
- โ Docker configuration (multi-stage, secure)
- โ Kubernetes manifests with HPA
- โ CI/CD pipelines (GitHub/GitLab/Jenkins)
- โ Monitoring and observability
- โ Environment-specific configs
- โ Complete documentation
๐ฆ Installation
pip install idp-cli
Or install from source:
git clone https://github.com/NotHarshhaa/internal-developer-platform-cli.git
cd internal-developer-platform-cli
pip install -e .
๐ฅ๏ธ Usage
Create a Service
# Python API service
idp-cli create-service payment-service --template python-api
# Go API service
idp-cli create-service user-service --template go-api
# React frontend
idp-cli create-service web-app --template react-frontend
# Rust API service
idp-cli create-service auth-service --template rust-api
Create Service with Full Options
# Full-stack Next.js application with complete CI/CD
idp-cli create-service my-app \
--template nextjs-fullstack \
--ci github-actions \
--deploy kubernetes \
--gitops argocd \
--output-dir ./services
# High-performance Go API with GitLab CI
idp-cli create-service api-gateway \
--template go-api \
--ci gitlab-ci \
--deploy kubernetes
List Available Templates
idp-cli list-templates
Check Service Health
# Check all services in dev environment
idp-cli health --environment dev
# Monitor specific service continuously
idp-cli health --service payment-api --watch --interval 30
Visualize Service Dependencies
# Show dependency tree
idp-cli deps --environment dev
# Check for circular dependencies and show deployment order
idp-cli deps --check-cycles --deployment-order
Check Environment Status
# Check all environment components
idp-cli env-status --environment dev
# Check specific component with details
idp-cli env-status --component kubernetes --detailed
Skip Optional Components
idp-cli create-service my-service \
--template python-api \
--no-docker \
--no-k8s \
--no-monitoring \
--no-docs
Get Help
idp-cli --help
idp-cli create-service --help
๐ง Architecture Overview
The IDP CLI follows Platform Engineering principles by providing a standardized developer experience.
Developer Request
โ
IDP CLI (Click)
โ
โโโโโโโโโโโโโโโโโโโโโ
โ Template Registry โ โ Service code scaffolding
โโโโโโโโโโโโโโโโโโโโโค
โ CI/CD Generator โ โ GitHub Actions / GitLab CI / Jenkins
โโโโโโโโโโโโโโโโโโโโโค
โ Docker Generator โ โ Multi-stage Dockerfile + .dockerignore
โโโโโโโโโโโโโโโโโโโโโค
โ K8s Generator โ โ Deployments, Services, ConfigMaps, HPA
โโโโโโโโโโโโโโโโโโโโโค
โ GitOps Generator โ โ ArgoCD / Flux manifests
โโโโโโโโโโโโโโโโโโโโโค
โ Monitoring Gen โ โ Prometheus rules, Grafana dashboards
โโโโโโโโโโโโโโโโโโโโโค
โ Docs Generator โ โ README, deployment guide, architecture
โโโโโโโโโโโโโโโโโโโโโ
๐งช Development
# Clone the repository
git clone https://github.com/NotHarshhaa/internal-developer-platform-cli.git
cd internal-developer-platform-cli
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest -v
# Run tests with coverage
pytest --cov=idp_cli --cov-report=html -v
# Lint
ruff check idp_cli/
# Format
black idp_cli/ tests/
๐ฏ Goals
- Enable self-service infrastructure
- Standardize service creation
- Reduce DevOps bottlenecks
- Improve developer experience (DevEx)
- Promote platform engineering practices
๐จโ๐ป Who Is This For?
- Platform Engineers
- DevOps Engineers
- Cloud Engineers
- SRE teams
- Engineering organizations building Internal Developer Platforms
๐ Roadmap
- Service health monitoring
- Service dependency visualization
- Environment status checking
- Service catalog integration
- Policy as Code support
- Infrastructure provisioning (Terraform)
- Web portal interface
- Plugin architecture
- Multi-cluster deployment
- Secrets management integration
- Custom template support
๐ License
MIT License โ see LICENSE for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file idp_cli-0.3.0.tar.gz.
File metadata
- Download URL: idp_cli-0.3.0.tar.gz
- Upload date:
- Size: 105.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
071c2a8060775b63e7a1900a72533d7d46980f3db6befb2f7eb7b573c4c79053
|
|
| MD5 |
76cc7450976aa97d33ed38b4f350dcff
|
|
| BLAKE2b-256 |
a54df1dcee13b6b336b609cdb2d3d61faa5e570db406a4dc01d6935abb3284b2
|
File details
Details for the file idp_cli-0.3.0-py3-none-any.whl.
File metadata
- Download URL: idp_cli-0.3.0-py3-none-any.whl
- Upload date:
- Size: 111.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0aa11e751aaa22d52d71cadbe85260a0f7824fe2b2eb1603bdc63041083e4bb3
|
|
| MD5 |
62bb73d35f16faf38074cdd5ff147a4b
|
|
| BLAKE2b-256 |
5849df0cca0d28d04f460fe9922edaf58557dfc31f14e52f1f0707e432e01509
|