دستورات
محیطها، fusion.<env>.json و fusion command
محیطها
هر محیط یک فایل در ریشهٔ پروژه به نام fusion.<env>.json است.
پروژههای جدید با سه محیط شروع میشوند:
| فایل | محیط |
|---|---|
fusion.dev.json | dev (پیشفرض) |
fusion.stage.json | stage |
fusion.prod.json | prod |
با ساخت فایل دیگر — مثلاً fusion.test.json — محیط test ساخته میشود. ثبت اضافه لازم نیست.
شکل فایل محیط
{
"env": "dev",
"config": {
"debug": true,
"host": "127.0.0.1",
"port": 8080,
"secret_key": "change-me"
},
"commands": {
"run": "python main.py"
}
}config— تنظیمات اپلیکیشن که توسطcore/settings(و Fusion Framework در runtime) خوانده میشودcommands— دستورات شلی که باfusion command <name>اجرا میکنید
Swagger (اختیاری)
پروژههای جدید بلوک swagger را زیر config دارند (در dev فعال، معمولاً در stage / prod خاموش). برای کنترل UI docs، infoی OpenAPI و طرحهای auth ویرایشش کنید:
{
"env": "dev",
"config": {
"host": "127.0.0.1",
"port": 8080,
"swagger": {
"enabled": true,
"path": "/swagger",
"title": "Fusion API Docs",
"info": {
"title": "Fusion API",
"version": "1.0.0",
"description": "API documentation generated by fusion-framework"
},
"servers": [{ "url": "/", "description": "Current host" }],
"auth": {
"persistAuthorization": true,
"schemes": {
"BearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
},
"ApiKeyAuth": {
"type": "apiKey",
"in": "header",
"name": "X-API-Key"
}
},
"global": [],
"oauth": {
"clientId": "",
"appName": "Fusion API",
"usePkceWithAuthorizationCodeGrant": true
}
},
"navbar": {
"enabled": true,
"showUrlInput": true
},
"ui": {
"deepLinking": true,
"docExpansion": "list",
"filter": true,
"tryItOutEnabled": true
}
}
},
"commands": {
"run": "python main.py"
}
}کلیدهای مفید:
| کلید | هدف |
|---|---|
swagger.enabled | روشن/خاموش کردن Swagger UI |
swagger.path | مسیر UI (پیشفرض /swagger) |
auth.schemes / auth.global | تعاریف امنیت OpenAPI |
auth.oauth | پاس به initOAuth در Swagger UI |
navbar.enabled | نمایش نوار بالای Swagger |
swagger.ui | نگاشت به پیکربندی Swagger UI |
اجرای دستورات
دستورات همانهایی هستند که زیر commands اعلام میکنید. با نام اجرا کنید:
fusion command run
fusion command run:dev
fusion command run --stage
fusion command run:stage
fusion command run --prod
fusion command run --env testمثال: شروع API نمونه
بعد از fusion init و pip install fusion-framework:
fusion command run:devاین python main.py را با FUSION_ENV=dev اجرا میکند. با config پیشفرض:
- API: http://127.0.0.1:8080
- Swagger UI: http://127.0.0.1:8080/swagger
Fusion مستندات OpenAPI/Swagger را از ماژولهای route شما میسازد (شامل ماژول شروعکنندهٔ products). با Swagger UI میتوانید endpointها را صدا بزنید، schemaها را ببینید و auth را امتحان کنید — بدون راهاندازی جداگانه برای docs.
بدون فلگ یا پسوند :env، محیط از FUSION_ENV (اگر تنظیم شده) وگرنه dev گرفته میشود.
لیست دستورات اعلامشده برای یک محیط:
fusion command --stageFusion رشتهٔ شل را از ریشهٔ پروژه اجرا میکند (sh -c روی Linux/macOS، cmd /C روی Windows) و FUSION_ENV را تنظیم میکند تا settings فایل درست را بار کند. کد خروج فرآیند فرزند منتقل میشود — مفید برای اسکریپت و CI.
دستورات سفارشی
هر ورودی که لازم دارید اضافه کنید:
{
"env": "stage",
"config": { "port": 1010 },
"commands": {
"run": "docker compose up",
"stop": "docker compose down"
}
}fusion command stop --stageمحیطهای سفارشی
fusion.test.json بسازید، سپس:
fusion command run --env testنصب پکیج فریمورک
بعد از scaffold، پکیج runtime زبان پروژه را نصب کنید:
pip install fusion-frameworkراهنماهای زبان: TypeScript / Node.js و C#.