https://github.com/vaur94/opencode-my-openagents
Multi-language AI coding assistant framework for OpenCode. Hierarchical agent architecture with .NET, Go, Python, and TypeScript support.
https://github.com/vaur94/opencode-my-openagents
agent-framework avalonia csharp dotnet go multi-agent opencode opencode-plugin python typescript
Last synced: about 1 month ago
JSON representation
Multi-language AI coding assistant framework for OpenCode. Hierarchical agent architecture with .NET, Go, Python, and TypeScript support.
- Host: GitHub
- URL: https://github.com/vaur94/opencode-my-openagents
- Owner: vaur94
- License: mit
- Created: 2026-03-01T00:19:51.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2026-03-01T09:58:59.000Z (about 1 month ago)
- Last Synced: 2026-03-01T10:54:59.629Z (about 1 month ago)
- Topics: agent-framework, avalonia, csharp, dotnet, go, multi-agent, opencode, opencode-plugin, python, typescript
- Language: TypeScript
- Size: 372 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# opencode-my-openagents
[](https://github.com/vaur94/opencode-my-openagents/actions/workflows/ci.yml)
[](https://opensource.org/licenses/MIT)
[](https://www.typescriptlang.org/)
[](https://bun.sh/)
[](https://opencode.ai)
[OpenCode](https://github.com/anomalyco/opencode) için çok dilli yapay zeka kodlama asistanı framework'ü. Kurumsal kod standartlarını **Iron Cage** kapsam kilitleme sistemiyle uygular.
---
## OpenCode Nedir?
[OpenCode](https://opencode.ai), terminal tabanlı, vendor-bağımsız bir AI kodlama aracıdır. Birden fazla LLM sağlayıcısıyla çalışır ve plugin ekosistemi sayesinde genişletilebilir. Bu proje, OpenCode'un plugin API'si (`@opencode-ai/plugin`) üzerine inşa edilmiş bir **enterprise-grade** eklentidir.
> **Dokümantasyon:** [opencode.ai/docs](https://opencode.ai/docs) · **Kaynak Kod:** [github.com/anomalyco/opencode](https://github.com/anomalyco/opencode)
---
## Ne İşe Yarar?
Bu plugin, OpenCode oturumlarında AI kodlama asistanlarını **çok dilli proje ortamlarında** yönetir:
- 🔒 **Iron Cage Kapsam Kilitleme** — Alt-agent'lar yalnızca atanmış dosyalara dokunabilir
- 🌐 **Çok Dilli Destek** — .NET, Go, Python, TypeScript için özelleştirilmiş guard ve skill'ler
- 🛡️ **Gerçek Zamanlı Guard Sistemi** — Kod standartlarını ihlal eden tool çağrılarını anında engeller
- 🔧 **MCP Tool Entegrasyonu** — Build kontrolü, AXAML doğrulama, allocation analizi (.NET)
- 📦 **LanguagePack Sözleşmesi** — Yeni dil desteği eklemek için genişletilebilir mimari
- 🚀 **Otomatik Skill Enjeksiyonu** — Dil algılama sonrası markdown skill'lerini sentinel dedup ile enjekte eder
---
## Iron Cage: Kapsam Kilitleme Sistemi
Alt-agent'ların yalnızca yetkili dosyalara erişmesini garanti eden **4 katmanlı savunma** mimarisi:
```
1. ENJEKSİYON → Alt-agent promptuna izin verilen dosyalar + yasaklı yollar enjekte edilir
2. İNTERSEPSİYON → edit/write/bash gibi tool çağrıları gerçek zamanlı denetlenir
3. BACKSTOP → Görev bitiminde tüm değiştirilmiş dosyalar denetlenir
4. KURTARMA → Konuşma sıkıştırması sonrası kapsam JSON capsule'den geri yüklenir
```
Iron Cage, sub-agent'lara Türkçe direktif olarak enjekte edilir ve **bypass mekanizması yoktur**.
---
## Mimari
```
opencode-my-openagents/
├── packages/
│ ├── core/ # Plugin motoru, scope sistemi, routing, guard'lar
│ ├── skill-dotnet/ # .NET guard'ları (3), skill'ler (3), MCP araçları (4)
│ ├── skill-go/ # Go error guard, standards skill
│ ├── skill-python/ # Python typing guard, standards skill
│ └── skill-typescript/ # TypeScript safety guard'ları (2), skill'ler (2)
├── .github/workflows/ # CI, CodeQL, release-please
├── release-please-config.json # Linked-versions monorepo release yapılandırması
├── biome.json # Linter + formatter (ESLint/Prettier yerine)
└── package.json # Bun workspaces root
```
### Paketler
| Paket | Açıklama |
|-------|----------|
| `@openagents/core` | Plugin motoru, Iron Cage scope sistemi, detection, routing, guard engine |
| `@openagents/skill-dotnet` | .NET algılama, 3 guard (API/Avalonia/Core), 3 skill, 4 MCP tool |
| `@openagents/skill-go` | Go algılama, error guard, standards skill |
| `@openagents/skill-python` | Python algılama, typing guard, standards skill |
| `@openagents/skill-typescript` | TypeScript algılama, 2 guard (TypeSafety/Import), 2 skill |
---
## Kurulum
### Gereksinimler
- [Bun](https://bun.sh/) ≥ 1.0
- [OpenCode](https://opencode.ai) (plugin host)
### Hızlı Başlangıç
```bash
# Repo'yu klonla
git clone https://github.com/vaur94/opencode-my-openagents.git
cd opencode-my-openagents
# Bağımlılıkları yükle ve derle
bun install
bun run build
# Testleri çalıştır
bun test
```
### OpenCode'a Ekleme
`opencode.json` dosyanıza bu plugin'i ekleyin:
```json
{
"plugins": {
"opencode-my-openagents": {
"source": "local",
"path": "/path/to/opencode-my-openagents"
}
}
}
```
> Plugin API hakkında detaylı bilgi: [opencode.ai/docs](https://opencode.ai/docs)
---
## Geliştirme
### Komutlar
```bash
bun install # Bağımlılıkları yükle
bun run build # Tüm paketleri derle (tsc -p chain)
bun run typecheck # Tip kontrolü
bun test # Testleri çalıştır (Bun native)
bun run format # Biome ile formatla
bun run lint # Biome ile lint kontrolü
```
### Yeni Dil Desteği Eklemek
1. `packages/skill-/` altında yeni paket oluştur
2. `LanguagePack` sözleşmesini implemente et (`packages/core/src/contracts.ts`)
3. Detector, SkillLoader, GuardRunner ve opsiyonel BuildRunner sağla
4. Root `package.json` workspaces'e ekle
5. `release-please-config.json` ve `.release-please-manifest.json`'a ekle
### Kurallar
- **ESM only** — tüm import'larda `.js` uzantısı. `require()` yasak.
- **Async-first** — tüm I/O `ProcessRunner`/`spawn` ile. `execSync` yasak.
- **Strict typing** — `any` yerine `unknown`. Biome zorlar.
- **Biome** — 2 boşluk indent, tek tırnak, noktalı virgül zorunlu, 100 karakter genişlik.
---
## Katkıda Bulunma
Katkılarınızı bekliyoruz! Lütfen şu adımları izleyin:
1. Repo'yu **fork** edin
2. Feature branch oluşturun (`git checkout -b feature/yeni-ozellik`)
3. Değişikliklerinizi yapın
4. `bun test` ve `bun run typecheck` ile doğrulayın
5. **Conventional Commits** formatında commit atın:
- `feat:` — yeni özellik
- `fix:` — hata düzeltmesi
- `docs:` — dokümantasyon
- `chore:` — bakım işleri
6. Pull Request açın
> **Not:** PR'lar CI pipeline'dan (lint + typecheck + test) geçmelidir. Release'ler [release-please](https://github.com/googleapis/release-please) ile otomatik yönetilir.
---
## Lisans
Bu proje [MIT Lisansı](LICENSE) altında lisanslanmıştır.
---
## Teşekkürler
- [OpenCode](https://opencode.ai) — Plugin API ve host ortamı
- [Biome](https://biomejs.dev/) — Lint ve format aracı
- [Bun](https://bun.sh/) — JavaScript runtime ve paket yöneticisi