create-devoplus-one-app 0.1.0-next.173 → 0.1.0-next.175

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.173",
3
+ "version": "0.1.0-next.175",
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",
@@ -133,6 +133,23 @@ metinle sorun ve şıkları numaralı yazın. Teknik soru sorulmaz.
133
133
  yöneticisi her izne sahip sayılır (platformla aynı kural). Platform uygulamaya yalnız KENDİ ad alanındaki izinleri
134
134
  iletir; başka bir uygulamanın ya da portalın izni okunamaz.
135
135
 
136
+ ## Eksik izin: erişim talebi
137
+
138
+ - Uygulamanın bir portala kurulması, bir ERP (DEXA) sorgusu ya da işlemi, izninin bir kullanıcı grubuna atanması ya da
139
+ yeni bir yetki alanı gerekiyorsa kullanıcıya teknik adım anlatılmaz: talebi AI kendisi gönderir. Devoplus One
140
+ bağlantısında `one_request_access` aracı, yoksa komut satırında `one login` ve `one request <tür> ...`. Durum
141
+ `one_list_my_requests` / `one_get_request` ya da `one requests` ile izlenir.
142
+ - Talep izni kendiliğinden VERMEZ. Talebin portalının şirket yöneticisi Devoplus Console'da onaylar ya da gerekçesiyle
143
+ reddeder (yetki alanı talebini platform yöneticisi onaylar); sonuç talep sahibine e-postayla bildirilir. Kayıt dışındaki
144
+ talepleri yalnız uygulamanın sahibi gönderebilir; portal ve gönderen oturumdan gelir.
145
+ - Gerekçe (`justification`) kullanıcının iş diliyle yazılır. ERP sorgusu istemeden önce `one_dexa_queries` (ya da
146
+ `one dexa queries`) listesine bakılır ve anahtar listeden aynen alınır; uygun sorgu yoksa `new-query` gönderilir.
147
+ Kurulum talebinde portal anahtarı gönderilmez, kullanıcıya da sorulmaz.
148
+ - Uygulama içi izinlerin hepsi kayıt talebinde istenir: kayıttan sonra izin eklemenin talep türü yoktur, izni uygulamanın
149
+ ana portalının şirket yöneticisi Devoplus Console'dan ekler (ana portalı belirlenemeyen uygulamada platform yöneticisi).
150
+ - Türler, alanlar ve hata kodları: SDK başvurusunun "Erişim talebi" bölümü (`node_modules/@devoplus/one-sdk/REFERENCE.md`)
151
+ ve `one_request_access` aracının açıklaması.
152
+
136
153
  ## Devoplus yapay zekası: iki yön (ZORUNLU adım)
137
154
 
138
155
  Devoplus yapay zekası bu uygulamanın verisine ve işlemlerine erişebilmelidir: kullanıcı Devoplus'ta "son notlarımı
@@ -271,14 +288,20 @@ Her Devoplus One uygulaması Portal'ın bir parçası gibi görünür. Kurallar
271
288
  - Hata yolu tek yerdedir: `catch (error) { return problemResponse(error) }`. `OneError` RFC 9457 gövdeye çevrilir,
272
289
  bilinmeyen hata 500 döner ve ayrıntı sızdırılmaz. `OneError.retryAfterSeconds` pozitif tam sayıysa (ör. 409
273
290
  `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.
291
+ - Kod Devoplus API'si üzerinden uygulamanın deposuna yüklenir: komut satırında uygulamanın kök dizininde `one publish`
292
+ (projenin tam görüntüsünü yükler ve test ortamına yayınlar; açıklama `--message` ile), dosya sistemi olmayan araçta
293
+ Devoplus One bağlantısının `one_source_upload` aracı. Deponun kendisine erişim gerekmez; kullanıcıdan da istenmez.
294
+ 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
295
+ dosyası ve sır dosyaları yüklenmez. `one-ci validate` (manifest + giriş dosyası + README.md/AGENTS.md + araç beyanı
296
+ varsa AGENT_GUIDE.md + `one.data.json` varsa üretilmiş dosyaların güncelliği (`one data generate --check`) + arayüz
297
+ denetimi) ve taramalardan geçmeyen sürüm yayımlanmaz. Hat düşerse nedenini `one pipeline` (ya da `one_pipeline_status`)
298
+ gösterir. Geliştirici makinesinden doğrudan yayın YOKTUR.
299
+ - Terfi: test'ten uat'a `one promote` (uat oturumuyla) ya da `one_publish`; kod birleştirmesini ve `v<sürüm>` etiketini
300
+ Devoplus yapar. Canlıya terfi ve canlıda geri alma insan onaylıdır: uygulamanın sahibi Portal'daki "Devoplus One
301
+ Uygulamalarım" ekranından, şirket yöneticisi Devoplus Console'dan yapar.
302
+ - 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
303
+ isteğiyle girer; AI ile yazılan her commit'in iletisine ayrı satırda `AI-Assisted: <araç adı>` trailer'ı eklenir.
304
+ `one-ci deploy` commit'leri ve geldikleri dalı sürüm defterine yazar.
282
305
  - `README.md` uygulamanın amacını ve davranışını, bu dosya AI kurallarını, `AGENT_GUIDE.md` Devoplus yapay zekasının
283
306
  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
307
  AGENTS yoksa veya boşsa, araç beyanı olan uygulamada AGENT_GUIDE.md eksikse yayını durdurur).
@@ -43,14 +43,15 @@ pnpm dev # one dev: uygulamayı yerel Portal içinde açar (http://127.0.0
43
43
  sınırı, izin kodu `{{permissionCode}}`). Kayıt kimlik sağlayıcıda uygulamanın client kaydını açar.
44
44
  2. **Kurulum:** aynı ekrandan uygulama bir portala kurulur (portal anahtarı). Kurulum = uygulama × portal; adres
45
45
  `{{slug}}-<portalAnahtarı>.<ortam tabanı>` olur.
46
- 3. **Yayın:** kod Devoplus GitLab'ına push edilir. Hat **platformundur** (proje ayarı "CI/CD configuration file" platform
47
- projesindeki `one-app.gitlab-ci.yml`'yi gösterir); bu depoya `.gitlab-ci.yml` YAZILMAZ — yazılsa da okunmaz. Her MR ve
48
- `test`/`uat`/`main` itişinde `prepare` koşar: `one-ci validate` (manifest · README/AGENTS · sır taraması) · bağımlılık
49
- taraması · `pnpm install` · `type-check` · `test`. Dağıtım dal = ortamdır ve elle başlatılır (`deploy:<ortam>` →
50
- "Run job", `ONE_PORTAL_KEY` + `ONE_PORTAL_ID`); client kimliği `one-{{slug}}`'dur. Geliştirici makinesinden doğrudan
51
- yükleme yoktur. `pnpm-lock.yaml` depoya girer (hat `--frozen-lockfile` kurar). AI ile yapılan değişiklikler
52
- `ai/<konu>` dalında ve `AI-Assisted:` trailer'ıyla gelir; one-ci son yayından bu yana gelen AI commit'lerini ve
53
- 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 sahip için Portal'daki "Devoplus One Uygulamalarım" ekranından, şirket yöneticisi için 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`).
54
55
  4. Portal menüsünde uygulama, `{{permissionCode}}` izni atanmış kullanıcılara görünür.
55
56
 
56
57
  ## Yeni yetenek eklerken