NAEOS memungkinkan Anda mendeskripsikan seluruh proyek — modul, layanan, API, dependensi — dalam satu spesifikasi YAML, kemudian menghasilkan kode siap-produksi untuk bahasa dan platform pilihan Anda.

Dalam tutorial ini Anda akan membangun proyek microservices sederhana dengan gateway API Go dan layanan auth TypeScript.

Prasyarat

Instal NAEOS:

go install github.com/NAEOS-foundation/naeos/cmd/naeos@latest

Langkah 1 — Buat Spesifikasi

Mulai dengan menginisialisasi proyek:

naeos init --template microservices my-app
cd my-app

Ini membuat file naeos.yaml. Buka dan ganti isinya dengan:

project: my-app
version: "1.0"
description: Proyek demo microservices

modules:
  - name: gateway
    path: ./gateway
  - name: auth
    path: ./auth
    dependencies: []
  - name: api
    path: ./api
    dependencies: [auth]

services:
  - name: gateway
    kind: http
    port: 8080
    module: gateway
  - name: auth-service
    kind: grpc
    port: 50051
    module: auth

generation:
  languages: [go, typescript]

Langkah 2 — Validasi

Periksa bahwa spesifikasi Anda valid:

naeos validate

Anda akan melihat ✓ Specification is valid.

Langkah 3 — Hasilkan Kode

Jalankan pipeline penuh untuk menghasilkan kode Go dan TypeScript:

naeos run --input naeos.yaml --output-dir ./out

Dalam hitungan detik, NAEOS menghasilkan:

out/
├── go/
│   ├── gateway/
│   │   ├── main.go
│   │   ├── handler.go
│   │   ├── go.mod
│   │   └── Dockerfile
│   └── auth/
│       ├── server.go
│       ├── proto/
│       ├── go.mod
│       └── Dockerfile
└── typescript/
    ├── api/
    │   ├── src/
    │   ├── package.json
    │   └── tsconfig.json
    └── auth/
        ├── src/
        ├── package.json
        └── tsconfig.json

Langkah 4 — Pratinjau NEIR

Lihat representasi antara yang dibangun NAEOS dari spesifikasi Anda:

naeos run --input naeos.yaml --output-dir ./out --verbose

Model NEIR mencakup dependensi yang telah di-resolve, endpoint layanan, dan metadata arsitektur yang digunakan generator untuk menghasilkan kode yang benar dan konsisten di semua bahasa target.

Selanjutnya

  • Jelajahi dokumentasi untuk fitur spesifikasi lanjutan
  • Coba template berbeda: naeos init --template fullstack my-app
  • Tambahkan kompilasi konteks AI dengan naeos ai compile
  • Bergabung dengan komunitas di GitHub