create-devoplus-one-app 0.1.0-next.166 → 0.1.0-next.174

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-devoplus-one-app",
3
- "version": "0.1.0-next.166",
3
+ "version": "0.1.0-next.174",
4
4
  "description": "Yeni bir Devoplus One uygulaması iskeleti üretir: manifest, SDK'lı giriş noktası, Portal köprülü kabuk, veritabanı migration'ı ve AGENTS.md",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -271,14 +271,19 @@ Her Devoplus One uygulaması Portal'ın bir parçası gibi görünür. Kurallar
271
271
  - Hata yolu tek yerdedir: `catch (error) { return problemResponse(error) }`. `OneError` RFC 9457 gövdeye çevrilir,
272
272
  bilinmeyen hata 500 döner ve ayrıntı sızdırılmaz. `OneError.retryAfterSeconds` pozitif tam sayıysa (ör. 409
273
273
  `ERPCMD-APP-E-016`) yanıt onu `Retry-After` başlığında ve gövdedeki `retryAfterSeconds` alanında da taşır.
274
- - Kod Devoplus git deposuna push edilir; `one-ci validate` (manifest + giriş dosyası + README.md/AGENTS.md + araç
275
- beyanı varsa AGENT_GUIDE.md + `one.data.json` varsa üretilmiş dosyaların güncelliği (`one data generate --check`) +
276
- arayüz denetimi) ve taramalardan geçmeyen sürüm yüklenmez. Geliştirici makinesinden doğrudan yükleme YOKTUR.
277
- - **AI değişikliği ayrı dalda yapılır ve izlenebilir kalır:** çalışmaya `ai/<konu>` adlı yeni bir dalda başlayın;
278
- yayın dallarına (`test`, `uat`, `main`) doğrudan commit atmayın, değişiklik birleştirme isteğiyle (merge request /
279
- pull request) girer. AI ile yazdığınız her commit'in iletisine ayrı satırda `AI-Assisted: <araç adı>` trailer'ı
280
- ekleyin (ör. `AI-Assisted: Claude Code`). `one-ci deploy` bu commit'leri ve geldikleri dalı sürüm defterine yazar;
281
- platform `ONE_AI_BRANCH_POLICY=enforce` açarsa yayın dalına doğrudan yazılmış AI commit'i yayını durdurur.
274
+ - Kod Devoplus API'si üzerinden uygulamanın deposuna yüklenir: komut satırında uygulamanın kök dizininde `one publish`
275
+ (projenin tam görüntüsünü yükler ve test ortamına yayınlar; açıklama `--message` ile), dosya sistemi olmayan araçta
276
+ Devoplus One bağlantısının `one_source_upload` aracı. Deponun kendisine erişim gerekmez; kullanıcıdan da istenmez.
277
+ Yükleme test dalına tek commit olarak yazılır ve yükleyenin adını taşır; bağımlılıklar, yerel durum klasörleri, hat
278
+ dosyası ve sır dosyaları yüklenmez. `one-ci validate` (manifest + giriş dosyası + README.md/AGENTS.md + araç beyanı
279
+ varsa AGENT_GUIDE.md + `one.data.json` varsa üretilmiş dosyaların güncelliği (`one data generate --check`) + arayüz
280
+ denetimi) ve taramalardan geçmeyen sürüm yayımlanmaz. Hat düşerse nedenini `one pipeline` (ya da `one_pipeline_status`)
281
+ gösterir. Geliştirici makinesinden doğrudan yayın YOKTUR.
282
+ - Terfi: test'ten uat'a `one promote` (uat oturumuyla) ya da `one_publish`; kod birleştirmesini ve `v<sürüm>` etiketini
283
+ Devoplus yapar. Canlıya terfi ve canlıda geri alma insan onaylıdır, Devoplus Console'dan yapılır.
284
+ - Depoya doğrudan git ile çalışılıyorsa (yalnız Devoplus ekibi) AI değişikliği `ai/<konu>` dalında yapılır ve birleştirme
285
+ isteğiyle girer; AI ile yazılan her commit'in iletisine ayrı satırda `AI-Assisted: <araç adı>` trailer'ı eklenir.
286
+ `one-ci deploy` commit'leri ve geldikleri dalı sürüm defterine yazar.
282
287
  - `README.md` uygulamanın amacını ve davranışını, bu dosya AI kurallarını, `AGENT_GUIDE.md` Devoplus yapay zekasının
283
288
  araçları nasıl kullanacağını anlatır; davranışı değiştiren değişiklik üçünü aynı commit'te günceller (one-ci README ya da
284
289
  AGENTS yoksa veya boşsa, araç beyanı olan uygulamada AGENT_GUIDE.md eksikse yayını durdurur).
@@ -22,9 +22,14 @@ kiracı ve servisler `@devoplus/one-sdk`'dan gelir. Uygulamayı geliştirecek AI
22
22
  pnpm install
23
23
  pnpm type-check && pnpm test && pnpm build # build = one build: yükleme provası, hiçbir yere göndermez
24
24
  pnpm migrate # one migrate — migrations/ altındaki SQL dosyalarını yerel veritabanına uygular (ilk çalıştırmada ve her yeni migration'da)
25
- pnpm dev # one dev — uygulamayı yerelde çalıştırır; Portal başlıklarını (X-One-*) elle göndermeniz gerekir
25
+ pnpm dev # one dev: uygulamayı yerel Portal içinde açar (http://127.0.0.1:8787/); kişi --as <kişi> ile seçilir
26
26
  ```
27
27
 
28
+ > `one dev` kimlik bağlamını seçilen kişiden üretir (başlık elle yazılmaz). E-posta ve SMS gönderilmez, yerel posta
29
+ > kutusuna yazılır (`/__one-dev/posta-kutusu`); mobil bildirim platformun varsayılanı gibi kapalıdır. DEXA ve
30
+ > organizasyon şeması örnek veridendir. Kişiler ve örnek veri `one.dev.json` dosyasındadır (yoksa iki örnek kişi);
31
+ > ayrıntı SDK başvurusundadır.
32
+
28
33
  > `one` komutu `@devoplus/one-sdk` ile gelir. Yerel yapılandırma, yerel veri ve paket çıktısı `.one/` altındadır
29
34
  > (depoya girmez); her komutta `one.manifest.json`'dan yeniden üretilir. Migration uygulanmadan `notes` tablosu
30
35
  > yoktur ve `/api/notes` hata döner. Gerçek yüklemede migration'ları platform sürümle birlikte uygular.
@@ -38,14 +43,15 @@ pnpm dev # one dev — uygulamayı yerelde çalıştırır; Portal başlı
38
43
  sınırı, izin kodu `{{permissionCode}}`). Kayıt kimlik sağlayıcıda uygulamanın client kaydını açar.
39
44
  2. **Kurulum:** aynı ekrandan uygulama bir portala kurulur (portal anahtarı). Kurulum = uygulama × portal; adres
40
45
  `{{slug}}-<portalAnahtarı>.<ortam tabanı>` olur.
41
- 3. **Yayın:** kod Devoplus GitLab'ına push edilir. Hat **platformundur** (proje ayarı "CI/CD configuration file" platform
42
- projesindeki `one-app.gitlab-ci.yml`'yi gösterir); bu depoya `.gitlab-ci.yml` YAZILMAZ — yazılsa da okunmaz. Her MR ve
43
- `test`/`uat`/`main` itişinde `prepare` koşar: `one-ci validate` (manifest · README/AGENTS · sır taraması) · bağımlılık
44
- taraması · `pnpm install` · `type-check` · `test`. Dağıtım dal = ortamdır ve elle başlatılır (`deploy:<ortam>` →
45
- "Run job", `ONE_PORTAL_KEY` + `ONE_PORTAL_ID`); client kimliği `one-{{slug}}`'dur. Geliştirici makinesinden doğrudan
46
- yükleme yoktur. `pnpm-lock.yaml` depoya girer (hat `--frozen-lockfile` kurar). AI ile yapılan değişiklikler
47
- `ai/<konu>` dalında ve `AI-Assisted:` trailer'ıyla gelir; one-ci son yayından bu yana gelen AI commit'lerini ve
48
- dallarını sürüm defterine yazar (`one-ci releases`).
46
+ 3. **Yayın:** `one publish` kaynağı Devoplus API'si üzerinden uygulamanın deposuna (test dalı) yükler ve test ortamına
47
+ yayını başlatır; depoya erişim gerekmez. Hat **platformundur** (proje ayarı "CI/CD configuration file" platform
48
+ projesindeki `one-app.gitlab-ci.yml`'yi gösterir); bu depoya `.gitlab-ci.yml` YAZILMAZ ve yükleme onu kabul etmez. Her
49
+ yüklemede `prepare` koşar: `one-ci validate` (manifest · README/AGENTS · sır taraması) · bağımlılık taraması ·
50
+ `pnpm install` · `type-check` · `test`. Hat düşerse `one pipeline` hangi işin neden düştüğünü gösterir. Dal = ortamdır:
51
+ test'ten uat'a `one promote` (uat oturumuyla), canlıya terfi Devoplus Console'dan; birleştirmeyi ve `v<sürüm>` etiketini
52
+ Devoplus yapar. Client kimliği `one-{{slug}}`'dur. Geliştirici makinesinden doğrudan yayın yoktur. `pnpm-lock.yaml`
53
+ depoya girer (hat `--frozen-lockfile` kurar). one-ci son yayından bu yana gelen commit'leri sürüm defterine yazar
54
+ (`one-ci releases`).
49
55
  4. Portal menüsünde uygulama, `{{permissionCode}}` izni atanmış kullanıcılara görünür.
50
56
 
51
57
  ## Yeni yetenek eklerken
@@ -7,7 +7,7 @@ Bu bölüm uygulamayı yazan kişi ya da yapay zekâ aracı içindir; kurallar *
7
7
  pnpm install
8
8
  pnpm type-check && pnpm test && pnpm build # build = one build: yükleme provası, hiçbir yere göndermez
9
9
  pnpm migrate # one migrate — migrations/ altındaki dosyaları yerel veritabanına uygular
10
- pnpm dev # one dev — yerelde çalıştırır; Portal başlıklarını (X-One-*) elle göndermeniz gerekir
10
+ pnpm dev # one dev: yerel Portal içinde açar (http://127.0.0.1:8787/); kişiler ve örnek veri one.dev.json
11
11
  pnpm data:generate # one.data.json değişince: yeni migration + src/data/types.ts
12
12
  ```
13
13