@ageup/cli
v0.0.3
Published
CLI to generate TypeScript types from Swagger/OpenAPI
Maintainers
Readme
Ageup CLI
Die Ageup CLI hilft dir dabei, schnell API-Projekte zu erzeugen und TypeScript-Typen aus einer Swagger/OpenAPI-Spezifikation zu generieren.
Voraussetzungen
- Node.js ≥ 18
- .NET SDK (für API-Templates), inkl. installiertem Ageup-Template:
dotnet new install ageup.api.templateInstallation
npm install -g @ageup/cliDanach steht dir der Befehl ageup global zur Verfügung.
Befehle
ageup init
Interaktives Setup für die ageup.json im aktuellen Projekt.
ageup initDu wirst nach der Swagger-/OpenAPI-URL und dem Ausgabepfad für die generierten Typen gefragt.
Optional kannst du die Swagger-URL direkt angeben:
ageup init --swagger https://api.example.com/openapi.jsonageup generate (alias ageup g)
Generiert TypeScript-Typen auf Basis deiner ageup.json Konfiguration.
ageup generate
# oder
ageup gOptional mit expliziter URL (überschreibt die Konfiguration):
ageup generate --url https://api.example.com/openapi.jsonageup new
Erzeugt ein neues Projekt basierend auf dem Ageup API Template und unterstützt dich interaktiv bei der Konfiguration.
ageup newAblauf:
- Auswahl des Projekt-Typs (
api,react,angular– aktuell wird nurapiunterstützt). - Eingabe des Projektnamens.
- Auswahl von Features (DB, Logging, FileStorage/S3, Auth, Permissions, Tenant, Testing).
- Bei aktivierter Auth / FileStorage werden weitere Werte wie JWT-Secret, S3-Credentials usw. abgefragt.
- Die CLI:
- führt den passenden
dotnet new ageupapi ...Befehl aus - legt im erzeugten Projektordner eine
ageup.jsonan, z.B.:
- führt den passenden
{
"type": "api",
"name": "MyCompany.Api",
"template": "ageupapi",
"options": {
"booleans": {
"db": true,
"auth": true,
"permissions": true
},
"texts": {
"jwt-secret": "..."
}
}
}Troubleshooting
dotnet new ageupapinicht gefunden
Stelle sicher, dass das Template installiert ist:dotnet new install ageup.api.templateageupwird nicht gefunden
Prüfe, ob@ageup/cliglobal installiert ist und dein globalesnpm binimPATHliegt.
Lizenz
MIT © Marvin Koch
