AgentSkillsCN

havsan-appsscript

HAVSAN 中 Google Apps Script 项目的完整指南。强制使用 Docker 化的 Clasp,实施部署安全检查,并确保环境隔离。当您发现 `.gs` 文件或 `appsscript.json` 文件时,或当用户提及“Apps Script”/“Clasp”时,请使用此技能。

SKILL.md
--- frontmatter
version: 2.9.0
name: havsan-appsscript
description: Master guide for Google Apps Script projects in HAVSAN. Enforces Dockerized Clasp usage, safety checks for deployments, and environment isolation. Use this skill when you detect `.gs`, `appsscript.json` files or when the user mentions "Apps Script" / "Clasp".

📜 HAVSAN Apps Script Uzmanlığı

Bu beceri, Google Apps Script projelerinde Docker tabanlı geliştirme ve Güvenli Dağıtım standartlarını sağlar.

🚨 1. DOCKER-FIRST KURALI (Anayasa)

HAVSAN ortamında yerel (local) Node.js kurulumu yoktur. Apps Script projeleri Docker içinde çalışır.

Yasaklı ve Doğru Komutlar

Yanlış (YASAK)Doğru (ZORUNLU)
clasp pushdocker compose exec -T app npx clasp push
clasp logindocker compose exec app npx clasp login --no-localhost
npm installdocker compose exec app npm install

Neden: Kullanıcı bilgisayarında node.exe aramamalıyız. Her şey konteyner içinde döner.

🛡️ 2. GÜVENLİK VE ONAY MEKANİZMASI

Canlıyı Koru (Push Safety)

clasp push komutu canlıdaki kodu değiştirdiği için kritik bir işlemdir.

  • Kural: Kullanıcı net bir şekilde "Deploy et", "Yükle" veya "Pushla" demeden ASLA bu komutu kendi kendine çalıştırma.
  • Onay: Eğer emin değilsen "Canlıya göndermek (push) istiyor musunuz?" diye sor.

🏗️ 3. PROJE YAPISI

Standart bir Apps Script projesi şu yapıda olmalıdır:

  • src/ -> Kodlar (.js, .html, appsscript.json) burada durur.
  • docker-compose.yml -> Node.js ortamını ayağa kaldırır.
  • .clasp.json -> Proje bağlantı ayarları.

🧩 Sık Karşılaşılan Sorunlar

  1. "Invalid Grant" Hatası: Token ölmüştür. Çözüm: clasp login (Docker içinden!).
  2. "Node.exe not found": Yanlışlıkla yerel komut kullandın. Docker'a dön.