# Magic

**Flutter için Laravel deneyimi.**

Flutter uygulamaları için facade'lar, Eloquent tarzı modeller, service provider'lar ve bir IoC container. Laravel biliyorsanız Magic'i zaten biliyorsunuz.

## Mimari. Hazır. Yayına.

Flutter size widget verir, mimari vermez. Magic HTTP istemcisini, kimlik doğrulamayı, önbelleği, doğrulamayı ve routing'i bağlar; her uygulamada yeniden kurmazsınız.

### Routing

Altında GoRouter var; middleware, isimli rotalar ve `BuildContext` istemeyen gezinme.

[Daha fazla Routing hakkında](https://anilcancakir.com/magic/docs/basics/routing.md)

### Eloquent ORM

REST API'nizin üzerinde active-record modeller; cast'ler, mutator'lar ve repository'ler. Yerel katman için `magic_local_storage` ekleyin.

[Daha fazla Eloquent ORM hakkında](https://anilcancakir.com/magic/docs/eloquent/getting-started.md)

### Facade'lar ve IoC

`Auth`, `Http` ve `Cache` gibi 18 facade, bir service container'dan çözülür.

[Daha fazla Facade'lar ve IoC hakkında](https://anilcancakir.com/magic/docs/architecture/facades.md)

### Kimlik doğrulama

Token guard'ları, önce önbellek oturum geri yükleme ve otomatik yenileme; ayrıca gate'ler ve policy'ler.

[Daha fazla Kimlik doğrulama hakkında](https://anilcancakir.com/magic/docs/security/authentication.md)

### Doğrulama

View'da tanımlanan kurallar, alanlarda gösterilen API 422 hataları ve uzak kontroller için async kurallar.

[Daha fazla Doğrulama hakkında](https://anilcancakir.com/magic/docs/digging-deeper/validation.md)

### Hazır sahteler

`Http.fake()`, `Auth.fake()` ve `Cache.fake()` mock'ların yerini alır. mockito gerekmez.

[Daha fazla Hazır sahteler hakkında](https://anilcancakir.com/magic/docs/testing/getting-started.md)

## Ajanınız Magic konuşur.

Magic skill'i kodlama asistanınıza facade'ları, Eloquent kurallarını ve service provider yaşam döngüsünü ilk satırdan önce öğretir. Tek komut kurar.

```bash
npx skills add anilcancakir/ai --skill magic-framework
```

[diğer editörler](https://github.com/anilcancakir/ai)

## Üstelik projenin içinde çalışır.

Skill'ler kuralları öğretir. Yerel MCP sunucusu, ajanınıza düzenlerken projenin kendi komutlarını stdio üzerinden verir.

```bash
claude mcp add magic -- dart run magic:dowel mcp:serve
```

## Saniyeler içinde üretmeye başlayın

```bash
flutter pub add magic
```

Ya da `pubspec.yaml` dosyasına ekleyin:

```yaml
dependencies:
  magic: ^1.0.1
```

Ya da yapay zeka ajanınıza şu istemi verin:

```text
https://anilcancakir.com/magic/docs/llms.txt adresini oku ve Magic paketini bu projeye kur.
```

## Dokümanlar

### Getting Started

- [Installation](https://anilcancakir.com/magic/docs/getting-started/installation.md)
- [Configuration](https://anilcancakir.com/magic/docs/getting-started/configuration.md)
- [Directory Structure](https://anilcancakir.com/magic/docs/getting-started/directory-structure.md)
- [Service Providers](https://anilcancakir.com/magic/docs/getting-started/service-providers.md)

### Architecture

- [Application Structure](https://anilcancakir.com/magic/docs/architecture/application-structure.md)
- [Request Lifecycle](https://anilcancakir.com/magic/docs/architecture/request-lifecycle.md)
- [Service Container](https://anilcancakir.com/magic/docs/architecture/service-container.md)
- [Facades](https://anilcancakir.com/magic/docs/architecture/facades.md)

### The Basics

- [Routing](https://anilcancakir.com/magic/docs/basics/routing.md)
- [Middleware](https://anilcancakir.com/magic/docs/basics/middleware.md)
- [Controllers](https://anilcancakir.com/magic/docs/basics/controllers.md)
- [Views](https://anilcancakir.com/magic/docs/basics/views.md)
- [Forms](https://anilcancakir.com/magic/docs/basics/forms.md)
- [Actions](https://anilcancakir.com/magic/docs/basics/actions.md)
- [HTTP Client](https://anilcancakir.com/magic/docs/basics/http-client.md)
- [UI Helpers](https://anilcancakir.com/magic/docs/basics/ui-helpers.md)

### Eloquent ORM

- [Eloquent: Getting Started](https://anilcancakir.com/magic/docs/eloquent/getting-started.md)
- [Eloquent: Mutators](https://anilcancakir.com/magic/docs/eloquent/mutators.md)
- [Repositories](https://anilcancakir.com/magic/docs/eloquent/repositories.md)
- [Eloquent: Serialization](https://anilcancakir.com/magic/docs/eloquent/serialization.md)

### Security

- [Authentication](https://anilcancakir.com/magic/docs/security/authentication.md)
- [Authorization](https://anilcancakir.com/magic/docs/security/authorization.md)
- [Security: Vault](https://anilcancakir.com/magic/docs/security/vault.md)

### Digging Deeper

- [Helpers](https://anilcancakir.com/magic/docs/digging-deeper/helpers.md)
- [Validation](https://anilcancakir.com/magic/docs/digging-deeper/validation.md)
- [Localization](https://anilcancakir.com/magic/docs/digging-deeper/localization.md)
- [Logging](https://anilcancakir.com/magic/docs/digging-deeper/logging.md)
- [Cache](https://anilcancakir.com/magic/docs/digging-deeper/cache.md)
- [Session & Flash Data](https://anilcancakir.com/magic/docs/digging-deeper/session.md)
- [Session Scope](https://anilcancakir.com/magic/docs/digging-deeper/session-scope.md)
- [Events](https://anilcancakir.com/magic/docs/digging-deeper/events.md)
- [File Storage](https://anilcancakir.com/magic/docs/digging-deeper/file-storage.md)
- [Carbon (Date/Time)](https://anilcancakir.com/magic/docs/digging-deeper/carbon.md)
- [Launch](https://anilcancakir.com/magic/docs/digging-deeper/launch.md)
- [Perf Hooks](https://anilcancakir.com/magic/docs/digging-deeper/perf-hooks.md)

### Testing

- [Testing: Getting Started](https://anilcancakir.com/magic/docs/testing/getting-started.md)
- [HTTP Tests](https://anilcancakir.com/magic/docs/testing/http-tests.md)
- [Facade Testing](https://anilcancakir.com/magic/docs/testing/facades.md)

### Packages

- [Magic CLI](https://anilcancakir.com/magic/docs/packages/magic-cli.md)
- [Magic DevTools](https://anilcancakir.com/magic/docs/packages/magic-devtools.md)

### Contributing

- [Contribution Guide](https://anilcancakir.com/magic/docs/contributing/contribution-guide.md)
- [Documentation Authoring Guide](https://anilcancakir.com/magic/docs/contributing/documentation.md)
