Antigravity IDE'yi kullanmaya başlama

1. Giriş

Antigravity, herkesin ajanların öne çıktığı yeni bir dönemde geliştirmeler yapmasına yardımcı olmak için tasarlanmış bir ajan tabanlı geliştirme platformudur. Antigravity, Antigravity IDE, Antigravity CLI ve Antigravity SDK olmak üzere dört ana üründen oluşur.

Bu codelab'de yalnızca geliştiriciler için Antigravity IDE'ye odaklanacağız.

Neler öğreneceksiniz?

  • Antigravity platformunu anlama
  • Antigravity IDE'yi yükleyin.
  • Antigravity düzenleyicisini ve aracı panelini keşfedin.
  • Eğik çizgi komutları
  • Özelleştirmeler, MCP sunucuları ve beceriler.

İhtiyacınız olanlar

Antigravity IDE'nin sisteminize (Mac, Windows ve belirli Linux dağıtımları) yerel olarak yüklenmesi gerekir. Ayrıca, aşağıdakilere de ihtiyacınız olacaktır:

  • Chrome web tarayıcısı.
  • Gmail hesabı (kişisel Gmail hesabı)

Sorunları bildirme

Codelab'i ve Antigravity'yi kullanırken sorunlarla karşılaşabilirsiniz.

Codelab ile ilgili sorunlar (yazım hataları, yanlış talimatlar) için lütfen bu codelab'in sol alt köşesindeki Report a mistake düğmesini kullanarak hata bildiriminde bulunun:

e7d8a6055a16a773.png

Antigravity ile ilgili hatalar veya özellik istekleri için lütfen sorunu Antigravity'de bildirin. Antigravity ürününün sol alt köşesindeki Ayarlar'ı tıklayarak ürün geri bildirimi gönderebilirsiniz. Ardından Provide Feedback seçeneğini belirleyin.

2. Antigravity Platformu

Antigravity IDE'ye odaklanmadan önce Antigravity platformunu anlayalım.

Antigravity, 4 ayrı üründen oluşur:

  • Antigravity: Birincil bağımsız uygulama ve birden fazla yerel temsilciyi paralel olarak yönetebileceğiniz komuta merkeziniz.
  • Antigravity IDE: Geliştiriciler için tam özellikli, ajan tabanlı IDE.
  • Antigravity CLI: Terminal tabanlı aracı etkileşimleri için komut satırı arayüzü.
  • Antigravity SDK: Geliştiricilerin Antigravity'yi kendi sistemlerine programatik olarak entegre etmelerini sağlayan araçlar.

Tüm ürünler aynı temel Antigravity temsilcilerine erişim sağlasa da etkileşim düzeyi farklıdır.

Antigravity'de temsilcilerle daha üst düzeyde çalışırsınız. Temsilciyle yaptığınız görüşmelerde, oluşturmasını istediğiniz şeyi açıklarsınız ve kodla ilgilenmesini sağlarsınız. Oluşturulan kodu görebilirsiniz ancak kodu kendiniz incelemeniz gerekmez.

Antigravity IDE'de daha düşük bir kodlama düzeyindesiniz. Ajan paneli üzerinden ajanla konuşmaya devam edebilirsiniz. Ayrıca kodun tam görünümünü elde edebilir, kod oluşturup düzenlerken ajandan yardım alabilirsiniz.

Antigravity CLI'da, komut satırı arayüzündeki aracıları kullanıyorsunuz. Yine de temsilciyle konuşabilir ve kod oluşturup düzenlemesini sağlayabilirsiniz ancak her şey terminalde gerçekleşir.

Hangi seviyeyi seçeceğiniz size kalmış. Genellikle Antigravity'de daha yüksek bir düzeyde geliştirmeye başlarsınız ve karmaşıklık arttıkça kodlama için Antigravity IDE'ye veya terminal dostu görevler için Antigravity CLI'ya geçersiniz.

3. Kurulum

Antigravity uygulamasını yüklediyseniz ancak Antigravity IDE'yi henüz yüklemediyseniz sağ üst köşede IDE'yi yükle düğmesini görürsünüz:

a3afce2c797f070c.png

Bu düğmeyi tıklayabilir veya işletim sisteminiz (macOS, Windows, Linux) için Antigravity IDE'yi indirip yüklemek üzere doğrudan Antigravity IDE indirme sayfasına gidebilirsiniz.

Yükleme tamamlandıktan sonra karşılama ekranı gösterilir:

a7bda49c67b4d971.png

Google Hesabınızla giriş yapın ve temanızı seçerek yüklemeye devam edin.

Bir noktada, Antigravity IDE aracısını nasıl kullanmak istediğiniz sorulur. Bu ekranda, aracı için terminal yürütme politikasını, inceleme politikasını ve JavaScript yürütme politikasını ayarlayabilirsiniz. Şimdilik İncelemeye dayalı geliştirme'yi seçin.

923299763a029330.png

Sonraki ekranda uzantıları ve agy-ide komut satırı aracını yapılandırabilirsiniz. Yalnızca ihtiyacınız olan uzantıları yüklemenizi öneririz.

c4e8005b3042b401.png

Antigravity IDE, ajanların Google geliştirici ürünleriyle çalışmasına yardımcı olmak için beceri ve MCP'lerin paketlenmiş koleksiyonları olan eklentilerle de birlikte gelir. Çalışmanız için faydalı olabileceğini düşündüğünüz seçenekleri belirleyin:

195da4a9d7b5a075.png

Artık Antigravity IDE'yi kullanmaya hazırsınız.

4. Antigravity IDE Arayüzü

Antigravity IDE'yi ilk kez başlattığınızda ana Antigravity IDE arayüzünü görürsünüz.

4a3bd4e0483365d9.png

Öncelikle yerel bir klasör açarak başlayabilirsiniz. Ayrıca Terminal ve ardından New Terminal menü öğesi aracılığıyla yeni bir terminal açmanız da önerilir.

Artık düzenleyici, terminal ve temsilci hazır:

d1465bea8316f991.png

Düzenleyicide kod yazarken Antigravity'den yapay zeka yardımı alırsınız. Temsilci paneli, temsilciyle sohbet ettiğiniz, farklı modeller seçtiğiniz ve dosya ile komutlara başvurduğunuz yerdir. Terminal varsayılan olarak yapay zeka destekli değildir ancak Antigravity CLI'yı yüklerseniz agy komutuyla başlatabilir ve terminalde yapay zeka yardımından yararlanabilirsiniz.

Antigravity Ayarları

Sağ alt köşedeki Antigravity Ayarları'na göz atmanız önerilir. Ajanın temel ayarlarını içerir:

14201a391e0d5955.png

Gelişmiş Ayarlar, aracı güvenlik modu gibi daha fazla ayar sunar:

9c2939aafa9724b5.png

Bu sayede, terminal komutları ve dosya sistemi erişimi gibi konularda ajanın ne kadar özgür olacağını belirleyebilirsiniz. Bu ayarları inceleyip projeniz için uygun olanları seçtiğinizden emin olun.

5. Düzenleyici

Düzenleyiciyi inceleyelim. Düzenleyici özelliklerini keşfetmek için hello.py Python dosyası oluşturun.

Düzenleyicide hello.py içine kod yazarken akıllı otomatik tamamlama özelliği devreye girer. Bu özelliği Tab tuşuna basarak kabul edebilirsiniz:

b34cd085032c2d5f.png

İmleci kodda bir sonraki mantıksal yere taşımak için sekme ile atlama önerileri alırsınız. Örneğin, main() yazmayı bitirdiğinizde düzenleyici, ana yönteme gitmenizi ister:

2dd69707af98c677.png

Eksik bağımlılıkları eklemek için içe aktarılacak sekme önerisi de alırsınız:

5ce8b0b5b9fdfdcc.png

6. Temsilci Paneli

Sağ tarafta, temsilci yan panelini görürsünüz. Görünmüyorsa Cmd + L kısayoluyla açıp kapatabilirsiniz.

Farklı model türleri seçebilir, dosyalar, dizinler, terminal, MCP sunucuları gibi daha fazla bağlam eklemek için @'yı veya komutlar için /'ı (sonraki bir adımda ele alınacaktır) kullanabilirsiniz.

ae98a3c19c2a8fc7.png

Ajanla etkileşim kurmanın en kolay yolu, sohbette soru sormaya başlamaktır. Ancak ajanla etkileşim kurmanın birden fazla yolu vardır.

Statik bir linter yüklüyse (ör. Pylint), hata yaptığınızda kodda sözdizimi hataları görürsünüz. Düzenleyicide bir sorunun üzerine gelin ve Explain and fix simgesini seçin . Bu işlem, ajanın açıklama yapması ve olası bir düzeltme sunması için ajan panelini açar:

db123f692200e653.png

Ayrıca, IDE'nin Problems sekmesine gidip Send to Agent seçeneğini belirleyerek aracının bu sorunları düzeltmesini sağlayabilirsiniz:

2f95dba053a09dd5.png

Terminal çıkışının hata içeren bir bölümünü seçip Cmd + L ile aracı görüşmesine de gönderebilirsiniz:

b1a29237e8efd11a.png

Ajanla sohbet ederken giriş penceresinin üst kısmında bazı simgeler görürsünüz:

3b17223d6d2e7bea.png

Bunlar; Değişikliklere Genel Bakış (kod değişikliklerini görmek için), Terminal (arka plan işlemleri), Yapılar ve Tarayıcı'dır.

7. Yapılar

Antigravity'nin temelinde, geliştirme sürecinin her aşamasında geri bildirimlerinizi kolayca toplama özelliği yer alır. Aracı bir görev üzerinde çalışırken süreç içinde farklı eserler oluşturur:

  • Kodlamadan önce: Bir uygulama planı ve görev listesi.
  • Kod oluştururken: Kod farklılıkları.
  • Kodlamadan sonra: Ne yaptığını açıklayan ve sonuçları doğrulayan bir kılavuz.

Bu belgeler, Antigravity'nin planlarını ve ilerleme durumunu paylaşma yöntemidir. Daha da önemlisi, Google Dokümanlar tarzı yorumlarla aracıya geri bildirimde bulunabilirsiniz. Bu, ajanı istediğiniz yöne etkili bir şekilde yönlendirmek için çok yararlıdır.

Basit bir uygulama oluşturmayı deneyelim ve bu süreçte Antigravity'ye nasıl geri bildirim sağlayabileceğimizi görelim.

Temsilci yan panelinde şu istemi deneyin:

Build a TODO list application with Python Flask, SQlite DB, and a CRUD frontend. Keep the application simple

Bu işlem, ajanın planlama yapmaya ve bir uygulama planı oluşturmaya başlamasını sağlar.

Uygulama planı

Uygulama planı, Antigravity'nin ne yapmayı planladığına, hangi teknoloji yığınını kullanacağına ve önerilen değişikliklerin üst düzey bir açıklamasına dair genel bir bakış sunar.

Birkaç saniye içinde görüşmede bir uygulama planı görürsünüz:

935372be9721a21c.png

Memnun kaldıysanız Proceed düğmesini tıklayabilirsiniz. Geri bildirimde bulunmak isterseniz uygulama planını açıp göndermeden önce Google Dokümanlar tarzında yorumlar ekleyebilirsiniz.

Görev listesi

Uygulama planı güncellendikten sonra Antigravity bir görev listesi oluşturur. Bu, Antigravity'nin uygulamayı oluşturmak ve doğrulamak için izleyeceği adımların somut bir listesidir. Bu liste, Antigravity'nin ilerleme durumunu bildirmesinin bir yoludur:

5eb1f122174855a8.png

Kod değişiklikleri

Bu noktada Antigravity, yeni dosyalarda bazı kodlar oluşturur. Ayrıntılara bakmadan bu değişiklikleri temsilci sohbeti yan panelinde Accept all veya Reject all yapabilirsiniz. Değişikliklerin ayrıntılarını görmek ve koda ayrıntılı yorumlar eklemek için Review changes simgesini de tıklayabilirsiniz.

Adım adım açıklamalı kılavuz

Antigravity kodlamayı tamamladıktan sonra sunucuyu başlatır ve uygulamayı doğrulamak için bir tarayıcı açabilir. Görev ekleme, görev güncelleme gibi bazı manuel testler yapar. Son olarak, uygulamayı doğrulamak için yaptığı işlemleri özetleyen bir açıklama dosyası oluşturur. Bu dosyada ekran görüntüsü veya tarayıcı kaydı içeren bir doğrulama akışı yer alabilir.

Ayrıca, ekran görüntüsüne veya tarayıcı kaydına da yorum yapabilirsiniz. Örneğin, yorum ekleyip Change the blue theme to orange theme gönderebiliriz. Yorum gönderildikten sonra Antigravity değişiklikleri yapar, sonuçları doğrular ve adım adım açıklamayı günceller.

Değişiklikleri geri al

Son olarak, her adımdan sonra değişiklikten memnun kalmazsanız sohbetten geri alma seçeneğini kullanabilirsiniz. Sohbette ↩️ Undo changes up to this point simgesini seçmeniz yeterlidir.

8. Eğik Çizgi Komutları

Antigravity IDE'de yerleşik eğik çizgi / komutları bulunur. Aracı yan panelinde / yazarsanız komut listesini görürsünüz:

c0b121133b3191ca.png

/goal, ajana bir görevi tamamlanana kadar çalıştırması talimatını verirken /schedule, görevlerin yinelenen veya tek seferlik görevler olarak planlanmasına olanak tanır. /grill-me, ajanla bir plan üzerinde anlaşmak için, /learn ise görüşmelerden yeniden kullanılabilir beceriler veya kurallar çıkarmak için kullanışlıdır.

Bu komutları deneyerek size nasıl yardımcı olabileceklerini görün.

9. Özelleştirmeler

Antigravity IDE'de birkaç özelleştirme seçeneği bulunur: Kurallar ve İş Akışları.

Sağ üst köşedeki ... simgesini tıklayın ve Customizations seçeneğini belirleyin. Rules ve Workflows simgelerini görürsünüz:

3415bdfa2f263b08.png

Kurallar, ajanın davranışını yönlendirmeye yardımcı olur. Bunlar, aracı kod oluşturup test ederken uymasını sağlamak için sağlayabileceğiniz yönergelerdir. Örneğin, aracının belirli bir kod stilini izlemesini veya yöntemleri her zaman belgelemesini isteyebilirsiniz. Bunları kural olarak ekleyebilirsiniz. Ajan, bu kuralları dikkate alır.

İş akışları, ajanla etkileşim kurarken / ile isteğe bağlı olarak tetikleyebileceğiniz kayıtlı istemlerdir. Ayrıca, aracının davranışını yönlendirirler ancak kullanıcı tarafından talep üzerine tetiklenirler.

Kurallar, sistem talimatlarına, iş akışları ise istediğiniz zaman seçebileceğiniz kayıtlı istemlere benzer.

Hem Kurallar hem de İş Akışları genel olarak veya çalışma alanı başına uygulanabilir ve aşağıdaki konumlara kaydedilebilir:

  • Genel kural: ~/.gemini/GEMINI.md
  • Global iş akışları: ~/.gemini/config/global_workflows/
  • Workspace kuralları: .agents/rules/
  • Workspace iş akışları: .agents/workflows/

Çalışma alanına bazı kurallar ve iş akışları ekleyelim.

Kural ekleyin

Öncelikle bir kod stili kuralı ekleyelim. Rules simgesine gidin ve +Workspace düğmesini seçin. Aşağıdaki kod stili kurallarıyla birlikte code-style-guide gibi bir ad verin:

* Make sure all the code is styled with PEP 8 style guide
* Make sure all the code is properly commented

İkinci olarak, kodun code-generation-guide kuralındaki örneklerle modüler bir şekilde oluşturulduğundan emin olmak için başka bir kural ekleyelim:

* The main method in main.py is the entry point to showcase functionality.
* Do not generate code in the main method. Instead generate distinct functionality in a new file (eg. feature_x.py)
* Then, generate example code to show the new functionality in a new method in main.py (eg. example_feature_x) and simply call that method from the main method.

İki kural kaydedilir ve hazır olur.

İş akışı ekleyin

Ayrıca birim testleri oluşturmak için bir iş akışı tanımlayalım. Bu sayede, koddan memnun olduğumuzda birim testlerini tetikleyebiliriz (temsilcinin sürekli olarak birim testleri oluşturması yerine).

Workflows simgesine gidin ve +Workspace düğmesini seçin. Aşağıdaki bilgilerle birlikte generate-unit-tests gibi bir ad verin:

* Generate unit tests for each file and each method
* Make sure the unit tests are named similar to files but with test_ prefix

İş akışı da artık kullanıma hazır.

Deneyin

Şimdi kuralları ve iş akışlarını uygulamalı olarak görelim. Çalışma alanınızda bir iskelet main.py dosyası oluşturun:

def main():
    pass

if __name__ == "__main__":
    main()

Şimdi, ajan yan paneline gidin ve ajana şunu sorun: Implement binary search and bubble sort.

Bir veya iki dakika sonra çalışma alanında üç dosya görürsünüz: main.py, bubble_sort.py, binary_search.py. Ayrıca tüm kuralların uygulandığını da fark edeceksiniz: Ana dosya karmaşık değil ve örnek kodu içeriyor, her özellik kendi dosyasında uygulanıyor, tüm kodlar belgelenmiş ve iyi bir tarzda yazılmış:

from binary_search import binary_search, binary_search_recursive
from bubble_sort import bubble_sort, bubble_sort_descending


def example_binary_search():
    """
    Demonstrate binary search algorithm with various test cases.
    """
    ...

def example_bubble_sort():
    """
    Demonstrate bubble sort algorithm with various test cases.
    """
    ...

def main():
    """
    Main entry point to showcase functionality.
    """
    example_binary_search()
    example_bubble_sort()
    print("\n" + "=" * 60)


if __name__ == "__main__":
    main()

Koddan memnun olduğumuza göre, birim testi oluşturma iş akışını tetikleyip tetikleyemeyeceğimize bakalım.

Sohbete gidip /generate yazmaya başlayın. Antigravity, iş akışımız hakkında bilgi sahibidir:

1b5120e06e55e98.png

generate-unit-tests simgesini seçip girin. Birkaç saniye sonra çalışma alanınızda yeni dosyalar (test_binary_search.py, test_bubble_sort.py) görünür. Bu dosyalarda, halihazırda uygulanmış bir dizi test bulunur.

10. MCP sunucuları

Model Bağlam Protokolü (MCP), aracıların harici sistemlere bağlanmasına yardımcı olan standart olarak ortaya çıkmıştır. Aracının verileriniz ve entegrasyonunuz açısından temellendirilmiş kalmasını sağlamada önemli bir rol oynarlar.

Antigravity IDE, hem yerel hem de uzak MCP sunucularını destekler. Ayrıca, Google Cloud hizmetleriyle çalışan çeşitli MCP sunucularıyla entegrasyonlar içerir ve bunlar yalnızca birkaç yapılandırma verisiyle tek tıklamayla yüklenir.

Sağ üst köşedeki ... simgesini tıklayın ve MCP Servers seçeneğini belirleyin. Bu işlem, MCP sunucularının listesini görebileceğiniz bir iletişim kutusu açar:

3fed0fbf1daa6df0.png

Örneğin, MCP sunucusunu yüklemek için Cloud Run'ı tıklayabilirsiniz.

Sağ üstteki Manage MCP Servers simgesini tıklarsanız ~/.gemini/config/mcp_config.json bölümünde ham MCP sunucu yapılandırmasını da görebilirsiniz. Bu dosyaya başka özel MCP sunucuları da ekleyebilir ve Antigravity IDE'de tanındıklarını görmek için yenileme düğmesine basabilirsiniz.

Yapılandırılmış MCP sunucularını kullanmak için Antigravity'ye MCP sunucusu gerektiren bir soru sorabilirsiniz. Örneğin, cloudrun-mcp sunucusunu etkinleştirip Antigravity'ye Build and deploy a Cloud Run service sorusunu sorabilirsiniz. Bu işlem, Antigravity'nin bir Cloud Run hizmetini yapılandırmak ve dağıtmak için cloudrun-mcp sunucusunu arayıp kullanmasını sağlar.

11. Beceri

Antigravity'nin temelini oluşturan modeller güçlü genellemeler yapsa da projenizin bağlamını veya ekibinizin standartlarını bilmez. Her kuralı veya aracı aracının bağlam penceresine yüklemek, araçların şişmesine, maliyetlerin artmasına, gecikmeye ve kafa karışıklığına yol açar.

Beceriler, ilerleme durumu açıklamasıyla bu sorunu çözer. Beceri, ihtiyaç duyulana kadar kullanılmayan özel bir bilgi paketidir. Yalnızca belirli isteğiniz becerinin açıklamasıyla eşleştiğinde temsilcinin bağlamına yüklenir .

Yapı ve Kapsam

Beceriler, dizine dayalı paketlerdir. İhtiyaçlarınıza bağlı olarak bunları iki kapsamda tanımlayabilirsiniz:

  • Global Kapsam (~/.gemini/config/skills/): Tüm Antigravity ürünlerinde (Antigravity, Antigravity IDE, Antigravity CLI) ve projelerinde kullanılabilir.
  • Proje/Workspace Kapsamı (<project-root>/.agents/skills/): Bu seçenek, becerinin yalnızca belirli bir proje içinde kullanılabilmesini sağlar.

Tipik bir beceri dizini şu şekilde görünür :

my-skill/
├── SKILL.md    #(Required) metadata & instructions.
├── scripts/    # (Optional) Python or Bash scripts for execution.
├── references/ # (Optional) text, documentation, or templates.
└── assets/     # (Optional) Images or logos.

Şimdi beceri ekleyelim.

Kod İnceleme Becerisi

Bu, yalnızca talimat içeren bir beceridir. Yani yalnızca meta verileri ve beceri talimatlarını içeren SKILL.md dosyasını oluşturmamız gerekir. Aracının, kod değişikliklerini hatalar, stil sorunları ve en iyi uygulamalar açısından incelemesi için ayrıntılar sağlayan bir beceri oluşturalım.

Proje klasöründe beceriyi içerecek bir dizin oluşturun:

mkdir -p .agents/skills/code-review

Yeni oluşturduğumuz proje klasöründe (ör. .agents/skills/code-review) aşağıdaki içerikle SKILL.md dosyası oluşturun:

---
name: code-review
description: Reviews code changes for bugs, style issues, and best practices. Use when reviewing PRs or checking code quality.
---

# Code Review Skill

When reviewing code, follow these steps:

## Review checklist

1. **Correctness**: Does the code do what it's supposed to?
2. **Edge cases**: Are error conditions handled?
3. **Style**: Does it follow project conventions?
4. **Performance**: Are there obvious inefficiencies?

## How to provide feedback

- Be specific about what needs to change
- Explain why, not just what
- Suggest alternatives when possible

Yukarıdaki SKILL.md dosyasının en üstünde meta verilerin (ad ve açıklama), ardından talimatların yer aldığını unutmayın. Aracı yüklendiğinde yalnızca becerilerin meta verilerini okur ve tam beceri talimatlarını yalnızca gerektiğinde yükler.

Beceriyi doğrulayalım. Antigravity ile yeni bir sohbet başlatın ve hangi becerilerin yüklü olduğunu sorun. code-review becerisini görmelisiniz:

61d2f8a77a133c46.png

Deneyin

Aşağıdaki içeriklerle demo_bad_code.py adlı yeni bir dosya oluşturun:

import time

def get_user_data(users, id):
   # Find user by ID
   for u in users:
       if u['id'] == id:
            return u
   return None

def process_payments(items):
   total = 0
   for i in items:
       # Calculate tax
       tax = i['price'] * 0.1
       total = total + i['price'] + tax
       time.sleep(0.1) # Simulate slow network call
  
   return total

def run_batch():
   users = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
   items = [{'price': 10}, {'price': 20}, {'price': 100}]
  
   u = get_user_data(users, 3)
   print("User found: " + u['name']) # Will crash if None
  
   print("Total: " + str(process_payments(items)))

if __name__ == "__main__":
   run_batch()

Antigravity'de belirli bir projede yeni bir görüşme açın ve şu istemi girin: review the @demo_bad_code.py file.

Ajan, code-review becerisini tanımlamalı, ayrıntıları yüklemeli ve ardından code-review/SKILL.md dosyasında verilen talimatlara göre işlemi gerçekleştirmelidir.

Örnek bir çıkış aşağıda gösterilmektedir:

dfbef714c00db3a7.png

12. Sonuç

Tebrikler! Antigravity IDE'yi başarıyla yüklediniz, yapılandırdınız ve temel özelliklerini incelediniz.

Antigravity platformu hakkında daha fazla bilgi edinmek için aşağıdaki codelab'lere ve referans dokümanlarına göz atın.

Diğer codelab'ler

Referans dokümanlar