ساخت App
محصول مستقلی که داخل میزبان اپِ محیطها اجرا میشود. حالت جمعوجور اجباری و فضای کاری اختیاری دارد و به یک محیط خاص وابسته نیست.
نتیجه و حالتهای قابل ساخت
در پایان یک App revision منتشرشده و فعال برای exact revision دارید که در Runtime مستقل launch شده است.
- Compact: تجربهٔ اجباری با عرض موبایل برای Widget App Host
- Compact + Workspace: تجربهٔ Compact بهعلاوهٔ inset صحنه با Host Services اعلانشده
جزئیات، نمونهها و قراردادهای کامل: راهنمای انسانی این محصول
پیشنیازهای دادهمحور
- وضعیت
- مسیر CLI آماده؛ گواهی Agent در انتظار
- زمان تقریبی
- ساخت اولیه: حدود ۱۰ دقیقه (وابسته به پروژه)
- CLI دقیق
npx @al-amr/cli@0.1.0-alpha.7
میتوانید همین حالا پروژه را با CLI عمومی بسازید و تا ارسال به بازبینی جلو بروید. این وضعیت به معنی فعالبودن Agent index و Context Pack رسمی نیست؛ آن دو پس از ترفیع Release Set فعال میشوند. زمان بالا فقط برای ساخت اولیه است، نه میزبانی و بازبینی نهایی.
شروع با AI
این دکمه یک پرامپت کامل با فرمان نسخهدار، راهنمای انسانی و توقفهای اجباری کپی میکند. Agent باید بداند Context Pack رسمی هنوز گواهی نشده است و نباید آن را فعال فرض کند.
شروع دستی
npx @al-amr/cli@0.1.0-alpha.7 create app my-app --yes --jsonفایلها و ساختار پروژهٔ ایجادشده
- al-amr.app.json — نسخهٔ bundle، display modes، capabilityها، data/network disclosure و اسناد عمومی
- .al-amr/project.json — پیوند محلی غیرمحرمانه و نسل build متصلشده
- src — رابط App؛ بدون دسترسی مستقیم به DOM، scene یا credential محیط میزبان
- dist — سند ورودی، icon و همهٔ بایتهایی که داخل bundle تغییرناپذیر بستهبندی میشوند
- .env.example — فقط issuer عمومی Registry؛ بدون token، secret یا هویت میزبان
جزئیات، نمونهها و قراردادهای کامل: راهنمای انسانی این محصول
تعریف Done محلی
ابتدا package manager ثبتشده در package.json پروژه را برای نصب dependencyها و اجرای scriptهای typecheck،build و test بهکار ببر؛ از وجود یک manager سراسری حدس نزن.
npx @al-amr/cli@0.1.0-alpha.7 validate --cwd my-app --json- Compact همیشه کار میکند و Workspace فقط وقتی اعلان شده و Host آن را پشتیبانی کند فعال میشود.
- تمام capabilityها، دادههای خوانده/نوشتهشده، network originها، retention و privacy URL صادقانه اعلان شدهاند.
- build پس از link ساخته شده و dist شامل همان بایتهایی است که test به bundle SHA-512 تبدیل میکند.
- App فقط از launch code یکبارمصرف و MessagePort نسلدار استفاده میکند و token را persist نمیکند.
اتصال حساب و پروژه
- در همان دایرکتوری پروژه، device login را آغاز کن و کد و URL را به مالک انسانی نشان بده.
- پس از تأیید انسانی، فقط resumeCommand برگشتی را اجرا کن؛ کد دستگاه را حدس یا بازتولید نکن.
- پروژه را link کن؛ Registry شناسهٔ پایدار asset و Project را صادر و manifest را همگام میکند.
- با status مالکیت، target و allowedActions را بخوان؛ Console و CLI از همان Management API استفاده میکنند.
npx @al-amr/cli@0.1.0-alpha.7 login --device --json
# سپس resumeCommand دقیق خروجی را اجرا کن
npx @al-amr/cli@0.1.0-alpha.7 link --yes --json
npx @al-amr/cli@0.1.0-alpha.7 status --json --non-interactiveحساب، نقشها، انتقال مالکیت و tokenهای CI در راهنمای حساب و پروژه توضیح داده شدهاند.
میزبانی یا نیازمندیهای artifact
- frontend App دامنه، TLS یا host ناشر نمیخواهد؛ Desktop بایتهای bundle تأییدشده را از alamr-app:// باز میکند.
- برای پیشنمایش، alamr dev خروجی build را با اختیار محلی در AppHost دسکتاپ باز میکند.
- alamr build و alamr test بایتهای دقیق را inventory، pack، upload و به revision تغییرناپذیر متصل میکنند.
- backend اختیاری App مستقل است؛ token پروژه و delegation کاربر باید scopeدار، منقضی و خارج از frontend باشند.
تست و ارسال برای بازبینی
- بعد از link، alamr build را اجرا کن تا هویت Registry داخل build درست باشد.
- alamr test همان خروجی را در یک عملیات inventory، pack، upload، bind و بررسی میکند.
- فقط revision و build digest بررسیشده را برای review ارسال کن و status را بخوان.
- هر تغییر بایت یک build و test تازه میخواهد و نسل تغییرناپذیر تازه میسازد.
npx @al-amr/cli@0.1.0-alpha.7 build --json
npx @al-amr/cli@0.1.0-alpha.7 test --yes --json
npx @al-amr/cli@0.1.0-alpha.7 publish --yes --json
npx @al-amr/cli@0.1.0-alpha.7 status --json --non-interactiveماشین وضعیت و digestها: چرخهٔ انتشار
بازبینی انسانی
- بازبین inventory، بایتهای bundle، privacy، capability consent، network/data disclosure و هر backend را بررسی میکند.
- تأیید review App را launchable نمیکند و reviewer اجازهٔ enable یا publication نهایی ندارد.
بازبین باید از حساب مستقل، inspection تازه و snapshot/artifact digest دقیق استفاده کند؛ راهنمای کامل در بازبینی انسانی است.
انتشار و اثبات مصرف
- ادمین ابتدا exact revision تأییدشده را published و سپس با تصمیم جداگانه availability سراسری را enable میکند.
- در v0.x availability سراسری است و به Environment خاص scope نمیشود؛ Runtime سازگاری و consent را دوباره میسنجد.
- اثبات نهایی، launch واقعی Compact و در صورت اعلان Workspace در یک Runtime مستقل است.
Availability اپ تصمیمی جدا از publication است.
خطاهای رایج با کد پایدار و رفع خطا
خطاها با کد پایدار در مرجع خطاها و شرح گامهای این محصول در راهنمای انسانی آمده است.
ادامه و پاکسازی
- هر build تازه App یک revision تازه میخواهد؛ build قبلی را زیر digest موجود جایگزین نکن.
- اگر digest یا inventory بررسیشده همخوان نیست، build و test تازه اجرا کن؛ revision قبلی را دستکاری نکن.
- برای توقف دسترسی، availability exact revision را disable کن؛ این کار catalog publication را تغییر نمیدهد.
از روی status و کد پایدار ادامه بده: راهنمای بازیابی. برای خطای ناشناخته ابتدا JSON همان شکست را بدون حذف diagnosticها حفظ کن.