ساخت خطوط لوله توسعه‌دهنده خودمختار با استفاده از agents.md و skills.md در Antigravity

۱. مقدمه

در این آزمایشگاه کد، به شما نشان خواهیم داد که چگونه با استفاده از Antigravity IDE، یک تیم توسعه‌دهنده هوش مصنوعی خودمختار و سرگرم‌کننده با کمک هوش مصنوعی را درست روی رایانه خود راه‌اندازی کنید. شما با هدایت یک نیاز در کل چرخه عمر آن، از مشخصات فنی تا استقرار نهایی، با استفاده از گردش کار قدرتمند skills.md و agents.md ، یک برنامه کاربردی خواهید ساخت.

به جای اینکه در یک پشته فنی خاص محصور شویم یا اسکریپت‌های پیچیده تنظیم پایتون بنویسیم، از یک رویکرد دوستانه Zero-Code استفاده خواهیم کرد که در آن نیازهای شما از طریق یک چرخه خودکار که توسط سه اصل اصلی Antigravity پشتیبانی می‌شود، جریان می‌یابد:

  1. agents.md : برای تعریف دقیق اینکه چه کسانی در تیم هوش مصنوعی شما (مدیر محصول، فرانت‌اند، تضمین کیفیت، دواپس) حضور دارند.
  2. مهارت‌ها و skills.md: یک دایرکتوری اختصاصی که در آن توانایی‌های فنی قوی و قوانین تحویل مصنوعات را به عنوان فایل‌های ماژولار .md تعریف می‌کنید.
  3. گردش‌های کاری (workflows/): برای تعریف دستورات اسلش سفارشی که اعضای تیم هوش مصنوعی شما را به طور یکپارچه در یک خط لوله مستقل به هم متصل می‌کنند.

با ترکیب این سه عنصر به صورت بومی در Antigravity، شما Gemini را راهنمایی خواهید کرد تا توسعه یک برنامه آماده تولید را از ابتدا تا انتها به طور کامل خودکار کند!

آنچه یاد خواهید گرفت

  • فضای کاری را مقداردهی اولیه کنید: پروژه خود را طوری تنظیم کنید که Antigravity آن را عمیقاً درک کند.
  • تعریف تیم: یک فایل agents.md ایجاد کنید تا شخصیت‌های هوش مصنوعی تخصصی خود را مشخص کنید.
  • مهارت‌ها را برنامه‌ریزی کنید: فایل‌های .md دقیقی را در دایرکتوری skills/ ایجاد کنید تا قوانین فنی سختگیرانه و حلقه‌های تکرارشونده دوباره‌کاری را تعریف کنید.
  • تعریف گردش‌های کاری سفارشی: یک دستور اسلش /startcycle برای خودکارسازی گردش کار استودیو ایجاد کنید.
  • شروع واکنش زنجیره‌ای: از یک دستور واحد برای اجرای خودکار و کارآمد کل خط لوله چندعاملی استفاده کنید!

آنچه امتحان خواهید کرد

  • چگونه مهندسی سریع هوش مصنوعی را از کد برنامه جدا کنیم.
  • چگونه عاملی بسازیم که به طور فعال مکث کند تا نظرات و ویرایش‌های کاربر را در فایل‌های Markdown تولید شده تفسیر کند.
  • چگونه مهارت‌های تولید و استقرار کد پویا و مستقل از زبان را ایجاد کنیم.
  • نحوه ساخت دستورات ماکروی سفارشی (گردش‌های کاری) در یک IDE عامل‌محور.

آنچه نیاز دارید

قبل از اینکه شروع کنی

برای اعتبارهای Google Cloud: برای کمک به شما در استفاده از Antigravity با پروژه‌های Google Cloud، اعتبارهای رایگان Google Cloud خود را با استفاده از این لینک استفاده کنید. می‌توانید دستورالعمل‌های اینجا را برای فعال کردن اعتبار و ایجاد یک پروژه جدید دنبال کنید.

  1. مطمئن شوید که Antigravity IDE را نصب کرده‌اید (که در antigravity.google موجود است).
  2. IDE آنتی‌گراویتی خود را باز کنید و مطمئن شوید که یک فضای کاری جدید و اختصاصی راه‌اندازی کرده‌اید .
  3. هنگام کار در حالت ویرایشگر، یک ترمینال باز داشته باشید.

۲. مقداردهی اولیه فضای کاری

از آنجا که Antigravity به طور بومی فایل‌های گردش کار قرار گرفته در دایرکتوری .agents را درک می‌کند، راه‌اندازی خط لوله توسعه‌دهنده خودکار شما به سادگی ایجاد چند پوشه استاندارد است.

می‌توانید فضای کاری خود را تنظیم کنید:

  1. نرم‌افزار Antigravity IDE را باز کنید.
  2. باز کردن مدیر عامل (Agent Manager) در هر لحظه، می‌توانید با فشردن کلیدهای CMD+E (مک) یا CTRL+E (ویندوز) یا از طریق دکمه‌های Open Editor و Open Agent Manager در سمت راست بالای نوار منو، بین مدیر عامل و ویرایشگر جابجا شوید.
  3. روی + باز کردن فضای کاری کلیک کنید.

برای شروع یک مکالمه جدید در یک فضای کاری، یا فضای کاری مورد نظر را از تب Start Conversation انتخاب کنید یا دکمه Plus کنار نام فضای کاری در نوار کناری را بزنید.

45e7241be5552e42.png

  1. روی Open New Workspace کلیک کنید و نام فضای کاری skills-codelab را برای آن انتخاب کنید و یک دایرکتوری محلی انتخاب کنید. این کار تضمین می‌کند که Agent یک پوشه ریشه خاص برای Scaffold کردن فایل‌ها بدون ایجاد اختلال در پروژه‌های دیگر دارد. پس از انجام این کار، به نمای ویرایشگر بروید و مراحل (5)، (6) و (7) را دنبال کنید.

d84ba507939a5efc.png

  1. کلیک راست کنید و یک پوشه skills-codelab ایجاد کنید.
  2. درون آن، دو دایرکتوری ایجاد کنید: production_artifacts و app_build .
  3. یک پوشه با نام .agents ایجاد کنید و درون آن، پوشه‌های workflows و skills را ایجاد کنید.

(به عنوان یک روش جایگزین) اگر ترجیح می‌دهید از ترمینال استفاده کنید، می‌توانید فوراً با اجرای دستور زیر این ساختار را ایجاد کنید:

mkdir skills-codelab && cd skills-codelab
mkdir -p .agents/workflows .agents/skills
mkdir production_artifacts app_build

Make sure your folder looks like this:

7234ea48c2b175a7.png

این پوشه‌های جدید چه کاری انجام می‌دهند؟

  • .agents/ : این یک دایرکتوری ویژه است که به طور بومی توسط Antigravity شناخته می‌شود. با قرار دادن فایل‌ها در اینجا، شما رفتار هوش مصنوعی داخلی Antigravity را گسترش می‌دهید.
  • skills/ : این پوشه برای ذخیره دستورالعمل‌های فنی خاص (فایل‌های .md ) برای هوش مصنوعی شما استفاده می‌شود. این پوشه به هوش مصنوعی می‌گوید که چگونه وظایف خاصی مانند نوشتن کد یا استقرار برنامه‌ها را انجام دهد و یک دستور حجیم و گیج‌کننده را با مراحل ماژولار جایگزین کند!
  • p roduction_artifacts/ : این پوشه‌ی اشتراکی ماست که اعضای تیم خودکار ما عمداً فایل‌ها را برای خواندن توسط عامل بعدی در آن قرار می‌دهند!
  • app_build/ : فضای کاری تعیین‌شده برای کد واقعی برنامه. عامل مهندس فول‌استک تمام کدها (مانند package.json ، app.py ، React components) را تولید کرده و مستقیماً در این پوشه ذخیره می‌کند و منبع برنامه را از دستورالعمل‌های هوش مصنوعی جدا می‌کند.

۳. تعریف تیم (agents.md)

اول، باید به Antigravity بگوییم که چه کسی روی این پروژه کار می‌کند. به جای اینکه دستورالعمل‌ها را در چهار پوشه پروژه تو در تو نگه داریم، هویت تیم خود را متمرکز می‌کنیم. یک فایل در .agents/agents.md ایجاد کنید:

چرا به شخصیت‌های متفاوت نیاز داریم؟

وقتی از یک هوش مصنوعی می‌خواهید که کل یک برنامه را از ابتدا بسازد، اگر او را مجبور کنید که همزمان معمار، کدنویس، تستر و سرپرست استقرار باشد، به راحتی می‌تواند سردرگم شود. با متمرکز کردن این نقش‌ها در agents.md ، از سردرگمی هوش مصنوعی جلوگیری می‌کنید. مدیر محصول فقط روی نیازمندی‌ها، مهندس فقط روی تولید کد و تضمین کیفیت فقط روی رفع اشکال تمرکز می‌کند. شما برای هر مرحله از خط تولید خود، متخصصان متخصصی خواهید داشت!

فایل agents.md با متمرکز کردن شخصیت‌های مختلف تیم شما، این مشکل را حل می‌کند:

  1. مدیر محصول ( @pm ): فقط روی تصویر کلی تمرکز دارد. او Technical_Specification.md را می‌نویسد و فرآیند تأیید متقابل را با شما (به عنوان نیروی انسانی) مدیریت می‌کند.
  2. مهندس فول‌استک ( @engineer ): نگران برنامه‌ریزی نیست؛ او فقط مشخصات مدیر پروژه را می‌گیرد و کاملاً روی نوشتن کد با کیفیت بالا به زبانی که شما تأیید می‌کنید تمرکز می‌کند.
  3. مهندس تضمین کیفیت ( @qa ): به عنوان یک چشم تازه کار عمل می‌کند. به جای نوشتن ویژگی‌های جدید، تمرکز اصلی آنها یافتن وابستگی‌های از دست رفته، خطاهای نحوی یا اشکالات منطقی در کد مهندس است.
  4. استاد دواپس ( @devops ): به شدت روی محیط زمان اجرا تمرکز دارد. او می‌داند چگونه ترمینال را بخواند، بسته‌ها (npm install، pip install) را نصب کند و سرور محلی را راه‌اندازی کند.
# 🤖 The Autonomous Development Team

## The Product Manager (@pm)
You are a visionary Product Manager and Lead Architect with 15+ years of experience.
**Goal**: Translate vague user ideas into comprehensive, robust, and technology-agnostic Technical Specifications.
**Traits**: Highly analytical, user-centric, and structured. You never write code; you only design systems.
**Constraint**: You MUST always pause for explicit user approval before considering your job done. You are highly receptive to user feedback and will enthusiastically re-write specifications based on inline comments.

## The Full-Stack Engineer (@engineer)
You are a 10x senior polyglot developer capable of adapting to any modern tech stack.
**Goal**: Translate the PM's Technical Specification into a beautiful, perfectly structured, production-ready application.
**Traits**: You write clean, DRY, well-documented code. You care deeply about modern UI/UX and scalable backend logic.
**Constraint**: You strictly follow the approved architecture. You do not make assumptions—if the spec says Python, you use Python. You always save your code into the `app_build/` directory.

## The QA Engineer (@qa)
You are a meticulous Quality Assurance engineer and security auditor.
**Goal**: Scrutinize the Engineer's code to guarantee production-readiness.
**Traits**: Detail-oriented, paranoid about security, and relentless in finding edge cases.
**Focus Areas**: You aggressively hunt for missing dependencies in configurations, unhandled promises, syntax errors, and logic bugs. You proactively fix them.

## The DevOps Master (@devops)
You are the elite deployment lead and infrastructure wizard.
**Goal**: Take the final code in `app_build/` and magically bring it to life on a local server.
**Traits**: You excel at terminal commands and environment configurations.
**Expertise**: You fluently use tools like `npm`, `pip`, or native runners. You install all necessary modules seamlessly and provide the local URL directly to the user so they can see the final product!

توجه کنید که چگونه اهداف، ویژگی‌ها و محدودیت‌ها را برای هر پرسونا تعریف می‌کنیم.

  • اهداف به نماینده می‌گویند که مسئولیت دقیق او در مسیر پیشرفت چیست.
  • صفات به آن یک شخصیت رفتاری می‌دهند و به آن می‌گویند که چگونه عمل کند (مثلاً «توسعه‌دهنده ارشد ۱۰ برابر» یا «در مورد امنیت بدبین»).
  • محدودیت‌ها مانند نرده‌های محافظ سفت و سخت عمل می‌کنند (مثلاً «هرگز کد ننویس»، «کاملاً از معماری تأیید شده پیروی کن»).

ساختاردهی دستورالعمل‌ها به این روش، توهمات هوش مصنوعی را به شدت کاهش می‌دهد و تضمین می‌کند که عامل به شدت به گردش کار مورد نیاز شما پایبند باشد!

مطمئن شوید که پوشه شما به این شکل است:

۴. مهارت‌های تخصصی (مهارت‌ها/) را برنامه‌ریزی کنید

مهندسی دقیق دستورالعمل‌ها، کلید جادوی بدون کدنویسی است. ما برای هر مهارت، فایل‌های متنی بسیار اختصاصی ایجاد خواهیم کرد و تضمین می‌کنیم که در صورت درخواست شما برای انجام مجدد کار، PM به طور فعال به عقب برگردد.

۱. مهارت مشخصات

این مهارت به عنوان نقطه شروع عمل می‌کند. نماینده مدیریت پروژه از آن برای مصاحبه با شما و تکمیل معماری قبل از نوشتن هرگونه کد استفاده می‌کند و از ساعت‌ها کدنویسی بیهوده جلوگیری می‌کند!

.agents/skills/write_specs.md را ایجاد کنید:

# Skill: Write Specs

## Objective
Your goal as the Product Manager is to turn raw user ideas into rigorous technical specifications and **pause for user approval**.

## Rules of Engagement
- **Artifact Handover**: Save all your final output back to the file system.
- **Save Location**: Always output your final document to `production_artifacts/Technical_Specification.md`.
- **Approval Gate**: You MUST pause and actively ask the user if they approve the architecture before taking any further action.
- **Iterative Rework**: If the user leaves comments directly inside the `Technical_Specification.md` or provides feedback in chat, you must read the document again, apply the requested changes, and ask for approval again!

## Instructions
1. **Analyze Requirements**: Deeply analyze the user's initial idea request.
2. **Draft the Document**: Your specification MUST include:
   - **Executive Summary**: A brief, high-level overview.
   - **Requirements**: Functional and non-functional requirements.
   - **Architecture & Tech Stack**: Suggest the absolute best framework (e.g., Python/Django, Node/Express, React/Next.js) for the job and outline the layout/API structure.

   - **State Management**: Briefly outline how data should flow.
3. Save the document to disk.
4. **Halt Execution**: Explicitly ask the user: "Do you approve of this tech stack and specification? You can safely open `Technical_Specification.md` and add comments or modifications if you want me to rework anything!" Wait for their "Yes" or feedback before the sequence continues!

به «دروازه تأیید» سختگیرانه توجه کنید. به جای اینکه کل برنامه را در یک مرحله بسازد و امیدوار باشد که درست باشد، به هوش مصنوعی صریحاً دستور داده می‌شود که مکث کند، منتظر نظر نهایی شما بماند و اگر نظرات درون خطی گذاشته‌اید، سند را دوباره بخواند!

۲. مهارت تولید فول‌استک

این مهارت، سازنده اصلی است. عامل مهندس، پشته فنی دقیق را از مشخصات مدیر پروژه می‌خواند و به صورت پویا تمام فایل‌های کد لازم برای فرانت‌اند و بک‌اند را چارچوب‌بندی می‌کند.

.agents/skills/generate_code.md را ایجاد کنید:

# Skill: Generate Code

## Objective
Your goal as the Full-Stack Engineer is to write the physical code based entirely on the PM's approved specification.

## Rules of Engagement
- **Dynamic Coding**: You are not limited to HTML/JS. You must write code in the exact language/framework defined in the approved `Technical_Specification.md`.
- **Save Location**: Save all your raw code, accurately retaining necessary folder structures, directly inside `app_build/`.

## Instructions
1. **Read the Spec**: Open and carefully study `production_artifacts/Technical_Specification.md`.
2. **Scaffold Structure**: Generate all core backend and frontend application files.
3. **Output**: Dump your code perfectly into the `app_build/` directory. Do not skip or summarize any code blocks. Ensure all `package.json` or `requirements.txt` files are present.

این مهارت هیچ پشته از پیش تعریف‌شده‌ای (مانند Next.js یا Django) ندارد. این مهارت صراحتاً به پشته فناوری پویای انتخاب‌شده توسط مدیر پروژه متکی است. این بدان معناست که مهارت تولید کد شما برای هر چارچوبی که در مشخصات تأیید کرده‌اید، کار می‌کند!

۳. مهارت حسابرسی

این مهارت یک شبکه ایمنی ایجاد می‌کند. نماینده تضمین کیفیت به عنوان یک بررسی‌کننده مستقل عمل می‌کند، که به طور خاص آموزش دیده است تا وابستگی‌های از دست رفته و خطاهای منطقی را در کد تازه تولید شده پیدا کند.

.agents/skills/audit_code.md را ایجاد کنید:

# Skill: Audit Code

## Objective
Your goal as the QA Engineer is to ensure the generated code is perfectly functional natively.

## Rules of Engagement
- **Target Context**: Your focus area is the `app_build/` directory.

## Instructions
1. **Assess Alignment**: Compare the raw code against the approved `Technical_Specification.md`.
2. **Bug Hunting**: Find and fix dependency mismatches, unhandled errors, and logic breaks.
3. **Commit Fixes**: Overwrite any flawed files in `app_build/` with your polished revisions.

GenAI به طور طبیعی هنگام نوشتن حجم زیادی از کد، اشتباهات نحوی کوچکی مرتکب می‌شود. با داشتن یک مهارت حسابرسی جداگانه که تنها وظیفه آن جستجوی خطاها است، ما به طور چشمگیری میزان موفقیت اجرای برنامه نهایی را افزایش می‌دهیم.

۴. مهارت استقرار پویا

این مهارت به برنامه جان می‌بخشد. عامل DevOps نوع برنامه ساخته شده (Node، Python و غیره) را تعیین می‌کند و با خیال راحت دستورات ترمینال مورد نیاز برای نصب ماژول‌ها و شروع سرور را اجرا می‌کند.

.agents/skills/deploy_app.md را ایجاد کنید:

# Skill: Deploy App

## Objective
Your goal as DevOps is to intelligently package the application and fire up a server based on the chosen stack.

## Instructions
1. **Stack Detection**: Inspect the `Technical_Specification.md` and the files in `app_build/` to figure out what stack is being used.

2. **Install Dependencies**: Use your native terminal to navigate into `app_build/` and run `npm install`, `pip install -r requirements.txt`, or whatever is appropriate!

3. **Host Locally**: Execute the appropriate native terminal command (e.g., `npm run dev`, `python3 app.py`) to start a background server.
4. **Report**: Output the clickable localhost link to the user and celebrate a successful launch!

ما از توانایی IDE برای اجرای ایمن دستورات ترمینال بومی استفاده می‌کنیم.

این عامل مانند یک مهندس DevOps واقعی عمل می‌کند و به صورت پویا تشخیص می‌دهد که بر اساس فایل‌هایی که واقعاً در پوشه app_build/ می‌بیند، چه دستور نصبی را اجرا کند!

(اختیاری) ۵. مهارت استقرار Cloud Run

اگر می‌خواهید برنامه خود را مستقیماً به مرحله تولید برسانید و آن را به صورت محلی اجرا نکنید، می‌توانید یک مهارت استقرار جایگزین ایجاد کنید. از آنجا که Antigravity مستقیماً روی دستگاه محلی شما عمل می‌کند، هوش مصنوعی می‌تواند به طور یکپارچه از رابط خط فرمان gcloud که به صورت محلی تأیید شده است، استفاده کند!

.agents/skills/deploy_cloud_run.md را ایجاد کنید:

# Skill: Deploy to Cloud Run

## Objective
Your goal as DevOps is to package the application into a container and deploy it to Google Cloud Run.

## Instructions
1. **Verify Environment**: Ensure the necessary files for the chosen tech stack are in `app_build/`.
2. **Containerize**: Use the IDE terminal to navigate to `app_build/` and run `gcloud run deploy --source .`. 
3. **Configure**: If prompted by the CLI tool, automatically select the default region and allow unauthenticated invocations so the web app is public.
4. **Report**: Output the live production Google Cloud Run URL to the user!

۵. تعریف یک دستور اسلش سفارشی

دستور اسلش سفارشی چه کاری انجام می‌دهد؟

با ذخیره این فایل متنی در داخل .agents/workflows/ ، شما یک دستور کاملاً جدید را مستقیماً در رابط چت Antigravity ثبت می‌کنید!

به جای اینکه به صورت دستی و گام به گام به هوش مصنوعی دستور داده شود ("به عنوان مدیر پروژه عمل کن و یک مشخصات بنویس..." و سپس "خب، حالا به عنوان مهندس عمل کن و کد بنویس...")، دستور /startcycle به عنوان یک هماهنگ‌کننده خودکار عمل می‌کند. این دستور به طور یکپارچه پرسوناهای تعریف شده شما و مهارت‌های خاص آنها را در یک توالی پیوسته و خودکار به هم متصل می‌کند! ما یک ماکروی واحد ایجاد خواهیم کرد که انتقال بین عوامل را مدیریت می‌کند و به صراحت حلقه دوباره‌کاری را برای مرحله مدیریت پروژه مدیریت می‌کند.

.agents/workflows/startcycle.md را ایجاد کنید:

---
description: Start the Autonomous AI Developer Pipeline sequence with a new idea
---

When the user types `/startcycle <idea>`, orchestrate the development process strictly using `.agents/agents.md` and `.agents/skills/`.

### Execution Sequence:
1. Act as the **Product Manager** and execute the `write_specs.md` skill using the `<idea>`.
   *(Wait for the user to explicitly approve the spec. If the user provides feedback or adds comments directly to the Markdown file, act as the PM again to re-read and revise the document. Loop this step until they type "Approved").*
2. Shift context, act as the **Full-Stack Engineer**, and execute the `generate_code.md` skill.
3. Shift context, act as the **QA Engineer**, and execute the `audit_code.md` skill.
4. Shift context, act as the **DevOps Master**, and execute the `deploy_app.md` skill.

مطمئن شوید که پوشه شما به این شکل است:

de21eeb6012ddbcd.png

۶. واکنش زنجیره‌ای را شروع کنید!

با تعریف رسمی تیم و قوانین خود در Antigravity، می‌توانید کل جریان کاری را به راحتی راه‌اندازی کنید!

ضد جاذبه سریع:

  1. در کادر گفتگوی مدیر عامل، برای باز کردن منوی دستورات سفارشی، / را تایپ کنید. startcycle انتخاب یا تایپ کنید.
  2. ایده خود را ارائه دهید:
/startcycle "I need a fast, real-time chat application for customer support on my ecommerce website."

بنشینید و همکاری کنید:

  1. Gemini مدیر محصول می‌شود، یک مشخصات فنی قوی تهیه می‌کند و از شما تاییدیه می‌خواهد.
  2. Technical_Specification.md را در ویرایشگر IDE خود باز کنید، چند یادداشت اضافه کنید (مثلاً «بیایید به جای Node از پایتون استفاده کنیم») و به عامل بگویید که آن را دوباره پردازش کند. او به طور خودکار فایل را اصلاح خواهد کرد!
  3. پس از تأیید شما، Gemini به طور طبیعی زمینه را به مهندس تغییر می‌دهد و با استفاده از مشخصات تأیید شده، کد backend/frontend را می‌نویسد.
  4. این تبدیل به مهندس تضمین کیفیت می‌شود، هرگونه اشکالی را برطرف می‌کند و کد نهایی را ذخیره می‌کند.
  5. در نهایت، DevOps Master به صورت پویا ماژول‌ها را نصب می‌کند و برنامه را به مرورگر شما ارائه می‌دهد!

نمونه‌ای از Technical_Specification.md و منتظر تایید یا نظرات هستیم

11defe4c48e874cc.png

پس از تأیید کاربر، کل گردش کار آغاز می‌شود.

b9af07291806ae60.png

۷. خلاصه و مراحل بعدی

تبریک! شما یاد گرفتید که چگونه حلقه‌های تکرار مشارکتی و تولید پویا و فول‌استک اپلیکیشن را به یک خط لوله عامل‌محور تزریق کنید!

In this codelab we covered the following:

  • نحوه ترسیم شخصیت‌های هوش مصنوعی با استفاده از .agents/agents.md.
  • حلقه‌های بازسازی مشارکتی را درون .agents/skills/write_specs.md بسازید تا عامل، کامنت‌های نشانه‌گذاری درون‌خطی شما را بخواند.
  • مهارت‌های .md پویا ساخته شده که بسته به مشخصات تأیید شده، در هر چارچوبی (پایتون، React) کد می‌نویسد!