clapp-pm 1.0.18__tar.gz → 1.0.19__tar.gz

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.
Files changed (106) hide show
  1. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/PKG-INFO +1 -1
  2. clapp_pm-1.0.19/apps/test-app/README.md +51 -0
  3. clapp_pm-1.0.19/apps/test-app/main.py +55 -0
  4. clapp_pm-1.0.19/apps/test-app/manifest.json +15 -0
  5. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp_pm.egg-info/SOURCES.txt +24 -1
  6. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp_pm.egg-info/top_level.txt +3 -0
  7. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/cli_commands.py +5 -1
  8. clapp_pm-1.0.19/docs/developer_guide.md +361 -0
  9. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/main.py +25 -16
  10. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/manifest_schema.py +20 -5
  11. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/manifest_validator.py +3 -3
  12. clapp_pm-1.0.19/new_command.py +181 -0
  13. clapp_pm-1.0.19/package_runner.py +187 -0
  14. clapp_pm-1.0.19/package_signing.py +148 -0
  15. clapp_pm-1.0.19/templates/dart/manifest.json +11 -0
  16. clapp_pm-1.0.19/templates/lua/manifest.json +11 -0
  17. clapp_pm-1.0.19/templates/python/README.md +51 -0
  18. clapp_pm-1.0.19/templates/python/main.py +55 -0
  19. clapp_pm-1.0.19/templates/python/manifest.json +11 -0
  20. clapp_pm-1.0.19/test-app/README.md +51 -0
  21. clapp_pm-1.0.19/test-app/main.py +55 -0
  22. clapp_pm-1.0.19/test-app/manifest.json +15 -0
  23. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/version.json +1 -1
  24. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/version.py +1 -1
  25. clapp_pm-1.0.18/package_runner.py +0 -87
  26. clapp_pm-1.0.18/package_signing.py +0 -370
  27. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/CHANGELOG.md +0 -0
  28. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/GITHUB_SETUP.md +0 -0
  29. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/LICENSE +0 -0
  30. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/MANIFEST.in +0 -0
  31. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/PYPI_UPLOAD.md +0 -0
  32. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/README.md +0 -0
  33. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/advanced_test.py +0 -0
  34. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/build_index.py +0 -0
  35. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/check_env.py +0 -0
  36. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/clapp_core.py +0 -0
  37. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/clean_command.py +0 -0
  38. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/cli_commands.py +0 -0
  39. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/dependency_resolver.py +0 -0
  40. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/doctor_command.py +0 -0
  41. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/info_command.py +0 -0
  42. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/install_command.py +0 -0
  43. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/installer.py +0 -0
  44. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/list_command.py +0 -0
  45. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/main.py +0 -0
  46. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/manifest_schema.py +0 -0
  47. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/manifest_validator.py +0 -0
  48. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/package_registry.py +0 -0
  49. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/package_runner.py +0 -0
  50. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/post_install_hint.py +0 -0
  51. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/publish_command.py +0 -0
  52. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/remote_registry.py +0 -0
  53. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/setup.py +0 -0
  54. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/system_test.py +0 -0
  55. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/uninstall_command.py +0 -0
  56. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/validate_command.py +0 -0
  57. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/version.py +0 -0
  58. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/version_command.py +0 -0
  59. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/backup_current/where_command.py +0 -0
  60. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/build_index.py +0 -0
  61. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/cache_manager.py +0 -0
  62. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/check_env.py +0 -0
  63. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp-packages-repo/README.md +0 -0
  64. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp-packages-repo/index.json +0 -0
  65. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp-packages-repo/packages/hello-python/main.py +0 -0
  66. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp-packages-repo/packages/hello-python/manifest.json +0 -0
  67. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp-packages-repo/packages/test-app/main.py +0 -0
  68. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp-packages-repo/packages/test-app/manifest.json +0 -0
  69. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp-packages-repo/packages/test-app2/main.py +0 -0
  70. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp-packages-repo/packages/test-app2/manifest.json +0 -0
  71. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp-packages-repo/packages.json +0 -0
  72. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp_app_structure.md +0 -0
  73. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp_core.py +0 -0
  74. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp_pm.egg-info/dependency_links.txt +0 -0
  75. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp_pm.egg-info/entry_points.txt +0 -0
  76. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clapp_pm.egg-info/requires.txt +0 -0
  77. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/clean_command.py +0 -0
  78. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/dependency_resolver.py +0 -0
  79. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/deploy.py +0 -0
  80. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/doctor_command.py +0 -0
  81. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/index.json +0 -0
  82. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/info_command.py +0 -0
  83. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/install_command.py +0 -0
  84. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/installer.py +0 -0
  85. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/list_command.py +0 -0
  86. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/package_registry.py +0 -0
  87. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/packages/hello-python/main.py +0 -0
  88. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/packages/hello-python/manifest.json +0 -0
  89. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/packages/test-app/main.py +0 -0
  90. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/packages/test-app/manifest.json +0 -0
  91. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/packages/test-app2/main.py +0 -0
  92. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/packages/test-app2/manifest.json +0 -0
  93. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/post_install_hint.py +0 -0
  94. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/publish_command.py +0 -0
  95. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/pyproject.toml +0 -0
  96. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/remote_registry.py +0 -0
  97. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/requirements.txt +0 -0
  98. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/setup.cfg +0 -0
  99. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/setup.py +0 -0
  100. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/smart_search.py +0 -0
  101. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/system_test.py +0 -0
  102. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/uninstall_command.py +0 -0
  103. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/validate_command.py +0 -0
  104. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/version_command.py +0 -0
  105. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/version_manager.py +0 -0
  106. {clapp_pm-1.0.18 → clapp_pm-1.0.19}/where_command.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clapp-pm
3
- Version: 1.0.18
3
+ Version: 1.0.19
4
4
  Summary: Lightweight cross-language app manager for Python and Lua
5
5
  Home-page: https://github.com/mburakmmm/clapp
6
6
  Author: Melih Burak Memiş
@@ -0,0 +1,51 @@
1
+ # Hello Python - clapp Örnek Uygulaması
2
+
3
+ Bu uygulama, clapp için Python uygulaması geliştirme örneğidir.
4
+
5
+ ## 🚀 Özellikler
6
+
7
+ - Basit kullanıcı etkileşimi
8
+ - Hata yönetimi
9
+ - Sistem bilgileri gösterimi
10
+ - Matematik işlemleri
11
+
12
+ ## 📦 Kurulum
13
+
14
+ ```bash
15
+ # Uygulamayı yükle
16
+ clapp install ./hello-python
17
+
18
+ # Uygulamayı çalıştır
19
+ clapp run hello-python
20
+ ```
21
+
22
+ ## 🧪 Test
23
+
24
+ ```bash
25
+ # Uygulamayı doğrula
26
+ clapp validate ./hello-python
27
+
28
+ # Bağımlılıkları kontrol et
29
+ clapp dependency check hello-python
30
+ ```
31
+
32
+ ## 📁 Dosya Yapısı
33
+
34
+ ```
35
+ hello-python/
36
+ ├── manifest.json # Uygulama manifesti
37
+ ├── main.py # Ana uygulama dosyası
38
+ └── README.md # Bu dosya
39
+ ```
40
+
41
+ ## 🔧 Geliştirme
42
+
43
+ Bu şablonu kendi uygulamanız için kullanabilirsiniz:
44
+
45
+ 1. `manifest.json` dosyasındaki `name` alanını değiştirin
46
+ 2. `main.py` dosyasını kendi kodunuzla değiştirin
47
+ 3. Gerekirse `requirements.txt` ekleyin
48
+
49
+ ## 📝 Lisans
50
+
51
+ MIT License
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Hello Python - clapp Örnek Uygulaması
4
+
5
+ Bu uygulama clapp için Python uygulaması geliştirme örneğidir.
6
+ """
7
+
8
+ import sys
9
+ import os
10
+ from datetime import datetime
11
+
12
+ def main():
13
+ """Ana fonksiyon"""
14
+ print("=" * 50)
15
+ print("🚀 Hello Python - clapp Örnek Uygulaması")
16
+ print("=" * 50)
17
+
18
+ # Temel bilgiler
19
+ print(f"📅 Tarih: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
20
+ print(f"🐍 Python Sürümü: {sys.version}")
21
+ print(f"📁 Çalışma Dizini: {os.getcwd()}")
22
+
23
+ # Kullanıcı etkileşimi
24
+ name = input("\n👋 Adınızı girin: ")
25
+ if name.strip():
26
+ print(f"Merhaba {name}! clapp'e hoş geldiniz!")
27
+ else:
28
+ print("Merhaba! clapp'e hoş geldiniz!")
29
+
30
+ # Örnek işlemler
31
+ print("\n🔢 Basit Hesaplama Örneği:")
32
+ try:
33
+ a = float(input("Birinci sayıyı girin: "))
34
+ b = float(input("İkinci sayıyı girin: "))
35
+
36
+ print(f"Toplam: {a + b}")
37
+ print(f"Çarpım: {a * b}")
38
+ print(f"Bölüm: {a / b if b != 0 else 'Tanımsız'}")
39
+
40
+ except ValueError:
41
+ print("❌ Geçersiz sayı girişi!")
42
+ except ZeroDivisionError:
43
+ print("❌ Sıfıra bölme hatası!")
44
+
45
+ print("\n✅ Uygulama başarıyla tamamlandı!")
46
+ print("=" * 50)
47
+
48
+ if __name__ == "__main__":
49
+ try:
50
+ main()
51
+ except KeyboardInterrupt:
52
+ print("\n\n👋 Uygulama kullanıcı tarafından sonlandırıldı.")
53
+ except Exception as e:
54
+ print(f"\n❌ Beklenmeyen hata: {e}")
55
+ sys.exit(1)
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "test-app",
3
+ "version": "1.0.0",
4
+ "language": "python",
5
+ "entry": "main.py",
6
+ "description": "Basit bir Python Hello World uygulaması",
7
+ "author": "clapp Developer",
8
+ "license": "MIT",
9
+ "tags": [
10
+ "example",
11
+ "hello",
12
+ "python"
13
+ ],
14
+ "category": "demo"
15
+ }
@@ -22,6 +22,7 @@ list_command.py
22
22
  main.py
23
23
  manifest_schema.py
24
24
  manifest_validator.py
25
+ new_command.py
25
26
  package_registry.py
26
27
  package_runner.py
27
28
  package_signing.py
@@ -63,6 +64,7 @@ where_command.py
63
64
  ./main.py
64
65
  ./manifest_schema.py
65
66
  ./manifest_validator.py
67
+ ./new_command.py
66
68
  ./package_registry.py
67
69
  ./package_runner.py
68
70
  ./package_signing.py
@@ -80,6 +82,9 @@ where_command.py
80
82
  ./version_command.py
81
83
  ./version_manager.py
82
84
  ./where_command.py
85
+ ./apps/test-app/README.md
86
+ ./apps/test-app/main.py
87
+ ./apps/test-app/manifest.json
83
88
  ./backup_current/build_index.py
84
89
  ./backup_current/check_env.py
85
90
  ./backup_current/clapp_core.py
@@ -120,12 +125,21 @@ where_command.py
120
125
  ./clapp_pm.egg-info/entry_points.txt
121
126
  ./clapp_pm.egg-info/requires.txt
122
127
  ./clapp_pm.egg-info/top_level.txt
128
+ ./docs/developer_guide.md
123
129
  ./packages/hello-python/main.py
124
130
  ./packages/hello-python/manifest.json
125
131
  ./packages/test-app/main.py
126
132
  ./packages/test-app/manifest.json
127
133
  ./packages/test-app2/main.py
128
134
  ./packages/test-app2/manifest.json
135
+ ./templates/dart/manifest.json
136
+ ./templates/lua/manifest.json
137
+ ./templates/python/README.md
138
+ ./templates/python/main.py
139
+ ./templates/python/manifest.json
140
+ ./test-app/README.md
141
+ ./test-app/main.py
142
+ ./test-app/manifest.json
129
143
  backup_current/build_index.py
130
144
  backup_current/check_env.py
131
145
  backup_current/clapp_core.py
@@ -161,9 +175,18 @@ clapp-packages-repo/packages/test-app/main.py
161
175
  clapp-packages-repo/packages/test-app/manifest.json
162
176
  clapp-packages-repo/packages/test-app2/main.py
163
177
  clapp-packages-repo/packages/test-app2/manifest.json
178
+ docs/developer_guide.md
164
179
  packages/hello-python/main.py
165
180
  packages/hello-python/manifest.json
166
181
  packages/test-app/main.py
167
182
  packages/test-app/manifest.json
168
183
  packages/test-app2/main.py
169
- packages/test-app2/manifest.json
184
+ packages/test-app2/manifest.json
185
+ templates/dart/manifest.json
186
+ templates/lua/manifest.json
187
+ templates/python/README.md
188
+ templates/python/main.py
189
+ templates/python/manifest.json
190
+ test-app/README.md
191
+ test-app/main.py
192
+ test-app/manifest.json
@@ -7,6 +7,7 @@ clean_command
7
7
  cli_commands
8
8
  dependency_resolver
9
9
  dist
10
+ docs
10
11
  doctor_command
11
12
  info_command
12
13
  install_command
@@ -23,6 +24,8 @@ post_install_hint
23
24
  publish_command
24
25
  remote_registry
25
26
  smart_search
27
+ templates
28
+ test-app
26
29
  uninstall_command
27
30
  validate_command
28
31
  version
@@ -118,7 +118,11 @@ def list_installed_apps(format_type="table", language_filter=None, search_term=N
118
118
  tuple: (success: bool, message: str)
119
119
  """
120
120
  try:
121
- output = list_apps(format_type, language_filter, search_term)
121
+ output = list_apps(
122
+ format_type,
123
+ language_filter or "",
124
+ search_term or ""
125
+ )
122
126
  print(output)
123
127
  return True, "Liste gösterildi"
124
128
  except Exception as e:
@@ -0,0 +1,361 @@
1
+ # clapp Geliştirici Rehberi
2
+
3
+ Bu rehber, clapp için uygulama geliştirmek isteyen geliştiriciler için hazırlanmıştır.
4
+
5
+ ## 📋 İçindekiler
6
+
7
+ 1. [Başlangıç](#başlangıç)
8
+ 2. [Manifest Dosyası](#manifest-dosyası)
9
+ 3. [Desteklenen Diller](#desteklenen-diller)
10
+ 4. [Uygulama Yapısı](#uygulama-yapısı)
11
+ 5. [Bağımlılık Yönetimi](#bağımlılık-yönetimi)
12
+ 6. [Test ve Doğrulama](#test-ve-doğrulama)
13
+ 7. [Yayınlama](#yayınlama)
14
+ 8. [En İyi Uygulamalar](#en-iyi-uygulamalar)
15
+
16
+ ## 🚀 Başlangıç
17
+
18
+ ### Yeni Uygulama Oluşturma
19
+
20
+ Yeni bir clapp uygulaması oluşturmak için:
21
+
22
+ ```bash
23
+ # Python uygulaması oluştur
24
+ clapp new python my-app
25
+
26
+ # Lua uygulaması oluştur
27
+ clapp new lua my-lua-app
28
+
29
+ # Diğer diller için
30
+ clapp new dart my-dart-app
31
+ clapp new go my-go-app
32
+ clapp new rust my-rust-app
33
+ ```
34
+
35
+ ### Manuel Oluşturma
36
+
37
+ Eğer `clapp new` komutu henüz mevcut değilse, manuel olarak oluşturabilirsiniz:
38
+
39
+ 1. Yeni bir klasör oluşturun
40
+ 2. `manifest.json` dosyası ekleyin
41
+ 3. Giriş dosyanızı oluşturun
42
+ 4. Gerekli dosyaları ekleyin
43
+
44
+ ## 📄 Manifest Dosyası
45
+
46
+ Her clapp uygulaması bir `manifest.json` dosyasına sahip olmalıdır.
47
+
48
+ ### Zorunlu Alanlar
49
+
50
+ ```json
51
+ {
52
+ "name": "my-app",
53
+ "version": "1.0.0",
54
+ "language": "python",
55
+ "entry": "main.py"
56
+ }
57
+ ```
58
+
59
+ ### Opsiyonel Alanlar
60
+
61
+ ```json
62
+ {
63
+ "name": "my-app",
64
+ "version": "1.0.0",
65
+ "language": "python",
66
+ "entry": "main.py",
67
+ "description": "Uygulama açıklaması",
68
+ "author": "Geliştirici Adı",
69
+ "license": "MIT",
70
+ "dependencies": ["other-app"],
71
+ "tags": ["utility", "tool"],
72
+ "category": "productivity"
73
+ }
74
+ ```
75
+
76
+ ### Alan Açıklamaları
77
+
78
+ - **name**: Uygulama adı (benzersiz olmalı)
79
+ - **version**: Sürüm numarası (semantic versioning önerilir)
80
+ - **language**: Programlama dili (python, lua, dart, go, rust, vb.)
81
+ - **entry**: Giriş dosyası (uygulamanın başlangıç noktası)
82
+ - **description**: Uygulama açıklaması
83
+ - **author**: Geliştirici bilgisi
84
+ - **license**: Lisans bilgisi
85
+ - **dependencies**: Bağımlılık listesi (diğer clapp uygulamaları)
86
+ - **tags**: Etiketler (arama için)
87
+ - **category**: Kategori (store, productivity, game, vb.)
88
+
89
+ ## 🌐 Desteklenen Diller
90
+
91
+ ### Python
92
+ - **Dosya uzantısı**: `.py`
93
+ - **Giriş noktası**: `python main.py`
94
+ - **Örnek**: `main.py`
95
+
96
+ ### Lua
97
+ - **Dosya uzantısı**: `.lua`
98
+ - **Giriş noktası**: `lua main.lua`
99
+ - **Örnek**: `main.lua`
100
+
101
+ ### Dart
102
+ - **Dosya uzantısı**: `.dart`
103
+ - **Giriş noktası**: `dart main.dart`
104
+ - **Örnek**: `main.dart`
105
+
106
+ ### Go
107
+ - **Dosya uzantısı**: `.go`
108
+ - **Giriş noktası**: `go run main.go`
109
+ - **Örnek**: `main.go`
110
+
111
+ ### Rust
112
+ - **Dosya uzantısı**: `.rs`
113
+ - **Giriş noktası**: `cargo run`
114
+ - **Örnek**: `Cargo.toml` + `src/main.rs`
115
+
116
+ ### Node.js
117
+ - **Dosya uzantısı**: `.js`
118
+ - **Giriş noktası**: `node main.js`
119
+ - **Örnek**: `main.js`
120
+
121
+ ### Bash
122
+ - **Dosya uzantısı**: `.sh`
123
+ - **Giriş noktası**: `bash main.sh`
124
+ - **Örnek**: `main.sh`
125
+
126
+ ### Perl
127
+ - **Dosya uzantısı**: `.pl`
128
+ - **Giriş noktası**: `perl main.pl`
129
+ - **Örnek**: `main.pl`
130
+
131
+ ### Ruby
132
+ - **Dosya uzantısı**: `.rb`
133
+ - **Giriş noktası**: `ruby main.rb`
134
+ - **Örnek**: `main.rb`
135
+
136
+ ### PHP
137
+ - **Dosya uzantısı**: `.php`
138
+ - **Giriş noktası**: `php main.php`
139
+ - **Örnek**: `main.php`
140
+
141
+ ## 📁 Uygulama Yapısı
142
+
143
+ ### Temel Yapı
144
+
145
+ ```
146
+ my-app/
147
+ ├── manifest.json # Zorunlu
148
+ ├── main.py # Giriş dosyası (manifest'te belirtilen)
149
+ ├── README.md # Opsiyonel
150
+ ├── requirements.txt # Python bağımlılıkları (opsiyonel)
151
+ └── assets/ # Statik dosyalar (opsiyonel)
152
+ ├── images/
153
+ └── data/
154
+ ```
155
+
156
+ ### Örnek Python Uygulaması
157
+
158
+ **manifest.json:**
159
+ ```json
160
+ {
161
+ "name": "hello-world",
162
+ "version": "1.0.0",
163
+ "language": "python",
164
+ "entry": "main.py",
165
+ "description": "Basit bir Hello World uygulaması",
166
+ "author": "Geliştirici",
167
+ "tags": ["example", "hello"]
168
+ }
169
+ ```
170
+
171
+ **main.py:**
172
+ ```python
173
+ #!/usr/bin/env python3
174
+
175
+ def main():
176
+ print("Merhaba Dünya!")
177
+ print("Bu bir clapp uygulamasıdır.")
178
+
179
+ if __name__ == "__main__":
180
+ main()
181
+ ```
182
+
183
+ ### Örnek Lua Uygulaması
184
+
185
+ **manifest.json:**
186
+ ```json
187
+ {
188
+ "name": "lua-calculator",
189
+ "version": "1.0.0",
190
+ "language": "lua",
191
+ "entry": "main.lua",
192
+ "description": "Basit hesap makinesi",
193
+ "tags": ["calculator", "math"]
194
+ }
195
+ ```
196
+
197
+ **main.lua:**
198
+ ```lua
199
+ #!/usr/bin/env lua
200
+
201
+ function main()
202
+ print("Lua Hesap Makinesi")
203
+ print("2 + 2 = " .. (2 + 2))
204
+ end
205
+
206
+ main()
207
+ ```
208
+
209
+ ## 🔗 Bağımlılık Yönetimi
210
+
211
+ ### clapp Bağımlılıkları
212
+
213
+ Manifest dosyasında diğer clapp uygulamalarını bağımlılık olarak belirtebilirsiniz:
214
+
215
+ ```json
216
+ {
217
+ "name": "my-app",
218
+ "version": "1.0.0",
219
+ "language": "python",
220
+ "entry": "main.py",
221
+ "dependencies": ["database-app", "auth-app"]
222
+ }
223
+ ```
224
+
225
+ ### Sistem Bağımlılıkları
226
+
227
+ Her dil için sistem bağımlılıkları farklı şekilde yönetilir:
228
+
229
+ #### Python
230
+ - `requirements.txt` dosyası kullanın
231
+ - `pip install -r requirements.txt` otomatik çalışır
232
+
233
+ #### Node.js
234
+ - `package.json` dosyası kullanın
235
+ - `npm install` otomatik çalışır
236
+
237
+ #### Rust
238
+ - `Cargo.toml` dosyası kullanın
239
+ - `cargo build` otomatik çalışır
240
+
241
+ ### Bağımlılık Kontrolü
242
+
243
+ ```bash
244
+ # Uygulama bağımlılıklarını kontrol et
245
+ clapp dependency check my-app
246
+
247
+ # Bağımlılık ağacını göster
248
+ clapp dependency tree my-app
249
+ ```
250
+
251
+ ## 🧪 Test ve Doğrulama
252
+
253
+ ### Uygulama Doğrulama
254
+
255
+ ```bash
256
+ # Uygulama klasörünü doğrula
257
+ clapp validate ./my-app
258
+ ```
259
+
260
+ ### Test Çalıştırma
261
+
262
+ ```bash
263
+ # Uygulamayı test et
264
+ clapp run my-app
265
+ ```
266
+
267
+ ### Bağımlılık Testi
268
+
269
+ ```bash
270
+ # Bağımlılıkları test et
271
+ clapp dependency check my-app
272
+ ```
273
+
274
+ ## 📦 Yayınlama
275
+
276
+ ### Yerel Test
277
+
278
+ ```bash
279
+ # Uygulamayı yerel olarak test et
280
+ clapp install ./my-app
281
+ clapp run my-app
282
+ ```
283
+
284
+ ### Paket Oluşturma
285
+
286
+ ```bash
287
+ # Paket oluştur
288
+ clapp publish ./my-app
289
+ ```
290
+
291
+ ### GitHub'a Yükleme
292
+
293
+ ```bash
294
+ # GitHub'a otomatik yükle
295
+ clapp publish ./my-app --push
296
+ ```
297
+
298
+ ## ✅ En İyi Uygulamalar
299
+
300
+ ### 1. İsimlendirme
301
+ - Uygulama adları küçük harf ve tire kullanın: `my-app`
302
+ - Açıklayıcı isimler seçin
303
+ - Benzersiz isimler kullanın
304
+
305
+ ### 2. Sürüm Yönetimi
306
+ - Semantic versioning kullanın: `1.0.0`
307
+ - Her değişiklikte sürüm artırın
308
+ - CHANGELOG.md dosyası ekleyin
309
+
310
+ ### 3. Dokümantasyon
311
+ - README.md dosyası ekleyin
312
+ - Kullanım örnekleri verin
313
+ - API dokümantasyonu ekleyin
314
+
315
+ ### 4. Hata Yönetimi
316
+ - Uygun hata mesajları verin
317
+ - Graceful degradation sağlayın
318
+ - Log dosyaları kullanın
319
+
320
+ ### 5. Güvenlik
321
+ - Hassas bilgileri kodlamayın
322
+ - Input validation yapın
323
+ - Güvenli dosya işlemleri kullanın
324
+
325
+ ### 6. Performans
326
+ - Gereksiz bağımlılıklardan kaçının
327
+ - Hızlı başlangıç sağlayın
328
+ - Bellek kullanımını optimize edin
329
+
330
+ ## 🆘 Yardım
331
+
332
+ ### Hata Ayıklama
333
+
334
+ ```bash
335
+ # Sistem durumunu kontrol et
336
+ clapp doctor
337
+
338
+ # Ortam kontrolü
339
+ clapp check-env
340
+
341
+ # Uygulama konumunu bul
342
+ clapp where my-app
343
+ ```
344
+
345
+ ### Destek
346
+
347
+ - GitHub Issues: [clapp repository](https://github.com/mburakmmm/clapp)
348
+ - Dokümantasyon: Bu rehber
349
+ - Örnekler: `templates/` klasörü
350
+
351
+ ## 📝 Örnekler
352
+
353
+ Daha fazla örnek için `templates/` klasörünü inceleyin:
354
+
355
+ - `templates/python/` - Python örnekleri
356
+ - `templates/lua/` - Lua örnekleri
357
+ - `templates/dart/` - Dart örnekleri
358
+ - `templates/go/` - Go örnekleri
359
+ - `templates/rust/` - Rust örnekleri
360
+
361
+ Her örnek tam çalışan bir uygulama içerir ve kopyalanıp değiştirilebilir.
@@ -33,7 +33,7 @@ from where_command import locate_app_path, list_all_app_locations
33
33
  from version_command import print_version, print_detailed_version
34
34
 
35
35
  # Yeni güvenlik ve performans modülleri
36
- from package_signing import sign_package_file, verify_package_file, check_package_security
36
+ from package_signing import check_package_security
37
37
  from version_manager import check_app_updates, get_app_latest_version, increment_app_version
38
38
  from cache_manager import get_cache_stats, clear_all_caches, download_packages_parallel
39
39
  from smart_search import search_packages, get_search_suggestions, get_search_analytics, clear_search_history
@@ -52,6 +52,9 @@ from dependency_resolver import (
52
52
  handle_dependency_tree
53
53
  )
54
54
 
55
+ # Yeni uygulama oluşturma komutu
56
+ from new_command import handle_new_command
57
+
55
58
  def main():
56
59
  """Ana CLI fonksiyonu"""
57
60
 
@@ -69,6 +72,7 @@ def main():
69
72
  clapp list # Yüklü uygulamaları listele
70
73
  clapp run hello-python # hello-python uygulamasını çalıştır
71
74
  clapp info hello-python # Uygulama bilgilerini göster
75
+ clapp new python my-app # Yeni Python uygulaması oluştur
72
76
 
73
77
  🔧 Yönetim Komutları:
74
78
  clapp install app.zip # ZIP dosyasından uygulama yükle
@@ -228,6 +232,13 @@ def main():
228
232
  dep_tree_parser = dependency_subparsers.add_parser('tree', help='Bağımlılık ağacı')
229
233
  dep_tree_parser.add_argument('app_name', help='Uygulama adı')
230
234
 
235
+ # new komutu (yeni)
236
+ new_parser = subparsers.add_parser('new', help='Yeni uygulama oluştur')
237
+ new_parser.add_argument('language', nargs='?', help='Programlama dili')
238
+ new_parser.add_argument('app_name', nargs='?', help='Uygulama adı')
239
+ new_parser.add_argument('--list', action='store_true', help='Mevcut şablonları listele')
240
+ new_parser.add_argument('--target-dir', help='Hedef dizin (opsiyonel)')
241
+
231
242
  # Argümanları parse et
232
243
  args = parser.parse_args()
233
244
 
@@ -376,22 +387,17 @@ def main():
376
387
  print("❌ Geçersiz dependency komutu")
377
388
  sys.exit(1)
378
389
 
390
+ elif args.command == 'new':
391
+ # Yeni uygulama oluşturma komutu
392
+ success, message = handle_new_command(args)
393
+ if success:
394
+ print(message)
395
+ else:
396
+ print(f"❌ {message}")
397
+ sys.exit(1)
398
+
379
399
  elif args.command == 'security':
380
- if args.action == 'sign':
381
- success, message = sign_package_file(args.package_path)
382
- if success:
383
- print(f"✅ {message}")
384
- else:
385
- print(f"❌ {message}")
386
- sys.exit(1)
387
-
388
- elif args.action == 'verify':
389
- signature_path = args.signature or args.package_path.replace('.zip', '.sig')
390
- success, message = verify_package_file(args.package_path, signature_path)
391
- print(f"{'✅' if success else '❌'} {message}")
392
- sys.exit(0 if success else 1)
393
-
394
- elif args.action == 'check':
400
+ if args.action == 'check':
395
401
  results = check_package_security(args.package_path)
396
402
  print("🔒 Paket Güvenlik Kontrolü")
397
403
  print("=" * 40)
@@ -402,6 +408,9 @@ def main():
402
408
  print("\n⚠️ Uyarılar:")
403
409
  for warning in results['warnings']:
404
410
  print(f" - {warning}")
411
+ else:
412
+ print("❌ İmzalama özelliği geçici olarak devre dışı")
413
+ sys.exit(1)
405
414
 
406
415
  elif args.command == 'update':
407
416
  if args.action == 'check':