deployforge 0.1.0__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 (49) hide show
  1. deployforge-0.1.0/LICENSE +21 -0
  2. deployforge-0.1.0/PKG-INFO +218 -0
  3. deployforge-0.1.0/README.md +176 -0
  4. deployforge-0.1.0/pyproject.toml +92 -0
  5. deployforge-0.1.0/setup.cfg +4 -0
  6. deployforge-0.1.0/src/deployforge/__init__.py +3 -0
  7. deployforge-0.1.0/src/deployforge/__version__.py +3 -0
  8. deployforge-0.1.0/src/deployforge/analyzer/__init__.py +23 -0
  9. deployforge-0.1.0/src/deployforge/analyzer/backend.py +326 -0
  10. deployforge-0.1.0/src/deployforge/analyzer/database.py +120 -0
  11. deployforge-0.1.0/src/deployforge/analyzer/frontend.py +179 -0
  12. deployforge-0.1.0/src/deployforge/analyzer/project.py +389 -0
  13. deployforge-0.1.0/src/deployforge/analyzer/shared.py +109 -0
  14. deployforge-0.1.0/src/deployforge/cli.py +825 -0
  15. deployforge-0.1.0/src/deployforge/config.py +195 -0
  16. deployforge-0.1.0/src/deployforge/deployment/__init__.py +19 -0
  17. deployforge-0.1.0/src/deployforge/deployment/orchestrator.py +331 -0
  18. deployforge-0.1.0/src/deployforge/deployment/planner.py +172 -0
  19. deployforge-0.1.0/src/deployforge/deployment/verifier.py +65 -0
  20. deployforge-0.1.0/src/deployforge/errors/__init__.py +53 -0
  21. deployforge-0.1.0/src/deployforge/github/__init__.py +21 -0
  22. deployforge-0.1.0/src/deployforge/github/integration.py +127 -0
  23. deployforge-0.1.0/src/deployforge/integration/__init__.py +20 -0
  24. deployforge-0.1.0/src/deployforge/integration/cors.py +30 -0
  25. deployforge-0.1.0/src/deployforge/integration/environment.py +62 -0
  26. deployforge-0.1.0/src/deployforge/integration/frontend_backend.py +39 -0
  27. deployforge-0.1.0/src/deployforge/providers/__init__.py +32 -0
  28. deployforge-0.1.0/src/deployforge/providers/base.py +151 -0
  29. deployforge-0.1.0/src/deployforge/providers/render.py +218 -0
  30. deployforge-0.1.0/src/deployforge/providers/vercel.py +205 -0
  31. deployforge-0.1.0/src/deployforge/security/__init__.py +4 -0
  32. deployforge-0.1.0/src/deployforge/security/gitignore.py +35 -0
  33. deployforge-0.1.0/src/deployforge/security/scanner.py +125 -0
  34. deployforge-0.1.0/src/deployforge/security/secrets.py +110 -0
  35. deployforge-0.1.0/src/deployforge/ui/__init__.py +1 -0
  36. deployforge-0.1.0/src/deployforge/ui/terminal.py +151 -0
  37. deployforge-0.1.0/src/deployforge.egg-info/PKG-INFO +218 -0
  38. deployforge-0.1.0/src/deployforge.egg-info/SOURCES.txt +47 -0
  39. deployforge-0.1.0/src/deployforge.egg-info/dependency_links.txt +1 -0
  40. deployforge-0.1.0/src/deployforge.egg-info/entry_points.txt +2 -0
  41. deployforge-0.1.0/src/deployforge.egg-info/requires.txt +16 -0
  42. deployforge-0.1.0/src/deployforge.egg-info/top_level.txt +1 -0
  43. deployforge-0.1.0/tests/test_analyzer.py +239 -0
  44. deployforge-0.1.0/tests/test_cli.py +121 -0
  45. deployforge-0.1.0/tests/test_config.py +93 -0
  46. deployforge-0.1.0/tests/test_integration.py +176 -0
  47. deployforge-0.1.0/tests/test_planner.py +190 -0
  48. deployforge-0.1.0/tests/test_providers.py +244 -0
  49. deployforge-0.1.0/tests/test_security.py +174 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 sifuna codex
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,218 @@
1
+ Metadata-Version: 2.4
2
+ Name: deployforge
3
+ Version: 0.1.0
4
+ Summary: From GitHub to a Live Application. Automatically. DeployForge analyzes an application and deploys its frontend and backend to production.
5
+ Author-email: sifuna codex <www.antonysifuna07@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/aasz253/DeployForge
8
+ Project-URL: Repository, https://github.com/aasz253/DeployForge
9
+ Project-URL: Documentation, https://github.com/aasz253/DeployForge#readme
10
+ Project-URL: Issues, https://github.com/aasz253/DeployForge/issues
11
+ Keywords: deploy,vercel,render,devsecops,cli,automation,github
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Topic :: Software Development :: Build Tools
22
+ Classifier: Topic :: System :: Installation/Setup
23
+ Requires-Python: >=3.11
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: typer<1.0,>=0.12
27
+ Requires-Dist: rich<15.0,>=13.7
28
+ Requires-Dist: requests<3.0,>=2.31
29
+ Requires-Dist: PyYAML<7.0,>=6.0
30
+ Requires-Dist: keyring<26.0,>=24.3
31
+ Requires-Dist: platformdirs<5.0,>=4.0
32
+ Provides-Extra: dev
33
+ Requires-Dist: pytest<9.0,>=8.0; extra == "dev"
34
+ Requires-Dist: pytest-cov<6.0,>=5.0; extra == "dev"
35
+ Requires-Dist: ruff<1.0,>=0.5; extra == "dev"
36
+ Requires-Dist: mypy<2.0,>=1.10; extra == "dev"
37
+ Requires-Dist: types-PyYAML>=6.0; extra == "dev"
38
+ Requires-Dist: bandit<2.0,>=1.7; extra == "dev"
39
+ Requires-Dist: build<2.0,>=1.2; extra == "dev"
40
+ Requires-Dist: twine<6.0,>=5.0; extra == "dev"
41
+ Dynamic: license-file
42
+
43
+ # DeployForge
44
+
45
+ **From GitHub to production. Automatically.**
46
+
47
+ DeployForge is the second stage of the PushForge → DeployForge workflow.
48
+ PushForge handles **Local → GitHub**, while DeployForge handles **GitHub → Production** (frontend → Vercel, backend → Render).
49
+
50
+ ---
51
+
52
+ ## Install
53
+
54
+ ```bash
55
+ pip install deployforge
56
+ ```
57
+
58
+ Or with [pipx](https://pypa.github.io/pipx/) (recommended):
59
+
60
+ ```bash
61
+ pipx install deployforge
62
+ ```
63
+
64
+ DeployForge is a single, cross-platform CLI — it works on Windows, macOS, and Linux.
65
+
66
+ ---
67
+
68
+ ## Quick Start
69
+
70
+ ```bash
71
+ # 1. Push your code with PushForge
72
+ pushforge
73
+
74
+ # 2. Deploy with DeployForge
75
+ deployforge
76
+ ```
77
+
78
+ DeployForge automatically:
79
+ 1. Analyzes your project structure (Next.js, Vite, FastAPI, Express, Django…)
80
+ 2. Creates a deployment plan (what goes to Vercel, what goes to Render)
81
+ 3. Runs security preflight checks (scans for leaked secrets)
82
+ 4. Deploys backend → Render, frontend → Vercel
83
+ 5. Wires environment variables (`NEXT_PUBLIC_API_URL`, `FRONTEND_URL`, `CORS_ORIGIN`)
84
+ 6. Sets up CORS on the backend
85
+ 7. Verifies all deployments and prints live URLs
86
+
87
+ ---
88
+
89
+ ## Commands
90
+
91
+ | Command | Description |
92
+ |---------|-------------|
93
+ | `deployforge` | Full automated deployment (analyze → deploy → verify) |
94
+ | `deployforge init` | Create `.deployforge/config.yml` for a project |
95
+ | `deployforge analyze` | Analyze project structure and show deployment plan |
96
+ | `deployforge deploy` | Deploy directly (with flags `--dry-run`, `--debug`) |
97
+ | `deployforge status` | Show status of deployed services |
98
+ | `deployforge verify` | Verify all deployed URLs are reachable and healthy |
99
+ | `deployforge security` | Run security preflight scan |
100
+ | `deployforge doctor` | Diagnose environment and credentials |
101
+ | `deployforge config` | Show resolved configuration |
102
+ | `deployforge logs` | Show recent deployment history |
103
+ | `deployforge version` | Print version |
104
+
105
+ ---
106
+
107
+ ## Options
108
+
109
+ ```
110
+ --dry-run Show what DeployForge would do without making changes
111
+ --non-interactive Skip confirmations (CI-friendly)
112
+ --skip-security Disable the security preflight gate
113
+ --debug Show debug detail for troubleshooting
114
+ --timeout INT Deployment wait timeout in seconds (default: 900)
115
+ --plan TEXT Render plan: free | starter | pro (default: starter)
116
+ ```
117
+
118
+ ---
119
+
120
+ ## How It Works with PushForge
121
+
122
+ ```
123
+ +-------------------+ +-------------------+ +-------------------+
124
+ | Your Machine | | GitHub | | Production |
125
+ | | | | | |
126
+ | PushForge ───────┼────►│ Source Code │ | Vercel (frontend)│
127
+ | Local → GitHub │ | │ | Render (backend) │
128
+ | | │ DeployForge ─────┼────►│ Live URLs │
129
+ +-------------------+ | GitHub → Prod | +-------------------+
130
+ +-------------------+
131
+ ```
132
+
133
+ **You don't need PushForge installed** to use DeployForge — it detects Git repositories automatically. But the two tools are designed to work together seamlessly.
134
+
135
+ ---
136
+
137
+ ## Authentication
138
+
139
+ DeployForge reads provider tokens from environment variables (in order):
140
+
141
+ | Provider | Environment Variables |
142
+ |----------|----------------------|
143
+ | Vercel | `DEPLOYFORGE_VERCEL_TOKEN`, `VERCEL_TOKEN` |
144
+ | Render | `DEPLOYFORGE_RENDER_API_KEY`, `RENDER_API_KEY` |
145
+
146
+ Tokens can also be stored securely in your OS keyring via:
147
+
148
+ ```bash
149
+ deployforge config --set vercel_token
150
+ deployforge config --set render_api_key
151
+ ```
152
+
153
+ > Credentials are **never** stored in project files or printed in logs. Only SHA-256 fingerprints are recorded.
154
+
155
+ ---
156
+
157
+ ## Configuration
158
+
159
+ DeployForge creates `.deployforge/config.yml` when you run `deployforge init`:
160
+
161
+ ```yaml
162
+ frontend:
163
+ provider: vercel
164
+ directory: frontend
165
+
166
+ backend:
167
+ provider: render
168
+ runtime: python
169
+ directory: backend
170
+ ```
171
+
172
+ Environment variables from `.env` files are automatically wired:
173
+ - `NEXT_PUBLIC_API_URL` → set to the backend Render URL
174
+ - `FRONTEND_URL` → set to the frontend Vercel URL (on the backend)
175
+ - CORS is configured automatically
176
+
177
+ ---
178
+
179
+ ## Security
180
+
181
+ DeployForge runs a security preflight before deployment:
182
+ - Scans for API keys, tokens, passwords in tracked files
183
+ - Blocks deployment if high-entropy strings or credential patterns are found (configurable)
184
+ - Never transmits or stores secrets — only fingerprints them locally
185
+
186
+ Disable with `--skip-security` for trusted codebases.
187
+
188
+ ---
189
+
190
+ ## Development
191
+
192
+ ```bash
193
+ # Clone and set up
194
+ git clone https://github.com/aasz253/DeployForge.git
195
+ cd DeployForge
196
+ python -m venv .venv && source .venv/bin/activate
197
+ pip install -e ".[dev]"
198
+
199
+ # Run tests
200
+ pytest
201
+
202
+ # Lint & type-check
203
+ ruff check src tests
204
+ mypy src
205
+
206
+ # Format
207
+ ruff format src tests
208
+ ```
209
+
210
+ ---
211
+
212
+ ## License
213
+
214
+ MIT — see [LICENSE](LICENSE).
215
+
216
+ ## Security Policy
217
+
218
+ See [SECURITY.md](SECURITY.md) for credential handling and disclosure.
@@ -0,0 +1,176 @@
1
+ # DeployForge
2
+
3
+ **From GitHub to production. Automatically.**
4
+
5
+ DeployForge is the second stage of the PushForge → DeployForge workflow.
6
+ PushForge handles **Local → GitHub**, while DeployForge handles **GitHub → Production** (frontend → Vercel, backend → Render).
7
+
8
+ ---
9
+
10
+ ## Install
11
+
12
+ ```bash
13
+ pip install deployforge
14
+ ```
15
+
16
+ Or with [pipx](https://pypa.github.io/pipx/) (recommended):
17
+
18
+ ```bash
19
+ pipx install deployforge
20
+ ```
21
+
22
+ DeployForge is a single, cross-platform CLI — it works on Windows, macOS, and Linux.
23
+
24
+ ---
25
+
26
+ ## Quick Start
27
+
28
+ ```bash
29
+ # 1. Push your code with PushForge
30
+ pushforge
31
+
32
+ # 2. Deploy with DeployForge
33
+ deployforge
34
+ ```
35
+
36
+ DeployForge automatically:
37
+ 1. Analyzes your project structure (Next.js, Vite, FastAPI, Express, Django…)
38
+ 2. Creates a deployment plan (what goes to Vercel, what goes to Render)
39
+ 3. Runs security preflight checks (scans for leaked secrets)
40
+ 4. Deploys backend → Render, frontend → Vercel
41
+ 5. Wires environment variables (`NEXT_PUBLIC_API_URL`, `FRONTEND_URL`, `CORS_ORIGIN`)
42
+ 6. Sets up CORS on the backend
43
+ 7. Verifies all deployments and prints live URLs
44
+
45
+ ---
46
+
47
+ ## Commands
48
+
49
+ | Command | Description |
50
+ |---------|-------------|
51
+ | `deployforge` | Full automated deployment (analyze → deploy → verify) |
52
+ | `deployforge init` | Create `.deployforge/config.yml` for a project |
53
+ | `deployforge analyze` | Analyze project structure and show deployment plan |
54
+ | `deployforge deploy` | Deploy directly (with flags `--dry-run`, `--debug`) |
55
+ | `deployforge status` | Show status of deployed services |
56
+ | `deployforge verify` | Verify all deployed URLs are reachable and healthy |
57
+ | `deployforge security` | Run security preflight scan |
58
+ | `deployforge doctor` | Diagnose environment and credentials |
59
+ | `deployforge config` | Show resolved configuration |
60
+ | `deployforge logs` | Show recent deployment history |
61
+ | `deployforge version` | Print version |
62
+
63
+ ---
64
+
65
+ ## Options
66
+
67
+ ```
68
+ --dry-run Show what DeployForge would do without making changes
69
+ --non-interactive Skip confirmations (CI-friendly)
70
+ --skip-security Disable the security preflight gate
71
+ --debug Show debug detail for troubleshooting
72
+ --timeout INT Deployment wait timeout in seconds (default: 900)
73
+ --plan TEXT Render plan: free | starter | pro (default: starter)
74
+ ```
75
+
76
+ ---
77
+
78
+ ## How It Works with PushForge
79
+
80
+ ```
81
+ +-------------------+ +-------------------+ +-------------------+
82
+ | Your Machine | | GitHub | | Production |
83
+ | | | | | |
84
+ | PushForge ───────┼────►│ Source Code │ | Vercel (frontend)│
85
+ | Local → GitHub │ | │ | Render (backend) │
86
+ | | │ DeployForge ─────┼────►│ Live URLs │
87
+ +-------------------+ | GitHub → Prod | +-------------------+
88
+ +-------------------+
89
+ ```
90
+
91
+ **You don't need PushForge installed** to use DeployForge — it detects Git repositories automatically. But the two tools are designed to work together seamlessly.
92
+
93
+ ---
94
+
95
+ ## Authentication
96
+
97
+ DeployForge reads provider tokens from environment variables (in order):
98
+
99
+ | Provider | Environment Variables |
100
+ |----------|----------------------|
101
+ | Vercel | `DEPLOYFORGE_VERCEL_TOKEN`, `VERCEL_TOKEN` |
102
+ | Render | `DEPLOYFORGE_RENDER_API_KEY`, `RENDER_API_KEY` |
103
+
104
+ Tokens can also be stored securely in your OS keyring via:
105
+
106
+ ```bash
107
+ deployforge config --set vercel_token
108
+ deployforge config --set render_api_key
109
+ ```
110
+
111
+ > Credentials are **never** stored in project files or printed in logs. Only SHA-256 fingerprints are recorded.
112
+
113
+ ---
114
+
115
+ ## Configuration
116
+
117
+ DeployForge creates `.deployforge/config.yml` when you run `deployforge init`:
118
+
119
+ ```yaml
120
+ frontend:
121
+ provider: vercel
122
+ directory: frontend
123
+
124
+ backend:
125
+ provider: render
126
+ runtime: python
127
+ directory: backend
128
+ ```
129
+
130
+ Environment variables from `.env` files are automatically wired:
131
+ - `NEXT_PUBLIC_API_URL` → set to the backend Render URL
132
+ - `FRONTEND_URL` → set to the frontend Vercel URL (on the backend)
133
+ - CORS is configured automatically
134
+
135
+ ---
136
+
137
+ ## Security
138
+
139
+ DeployForge runs a security preflight before deployment:
140
+ - Scans for API keys, tokens, passwords in tracked files
141
+ - Blocks deployment if high-entropy strings or credential patterns are found (configurable)
142
+ - Never transmits or stores secrets — only fingerprints them locally
143
+
144
+ Disable with `--skip-security` for trusted codebases.
145
+
146
+ ---
147
+
148
+ ## Development
149
+
150
+ ```bash
151
+ # Clone and set up
152
+ git clone https://github.com/aasz253/DeployForge.git
153
+ cd DeployForge
154
+ python -m venv .venv && source .venv/bin/activate
155
+ pip install -e ".[dev]"
156
+
157
+ # Run tests
158
+ pytest
159
+
160
+ # Lint & type-check
161
+ ruff check src tests
162
+ mypy src
163
+
164
+ # Format
165
+ ruff format src tests
166
+ ```
167
+
168
+ ---
169
+
170
+ ## License
171
+
172
+ MIT — see [LICENSE](LICENSE).
173
+
174
+ ## Security Policy
175
+
176
+ See [SECURITY.md](SECURITY.md) for credential handling and disclosure.
@@ -0,0 +1,92 @@
1
+ [build-system]
2
+ requires = ["setuptools>=69", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "deployforge"
7
+ version = "0.1.0"
8
+ description = "From GitHub to a Live Application. Automatically. DeployForge analyzes an application and deploys its frontend and backend to production."
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ requires-python = ">=3.11"
12
+ authors = [
13
+ { name = "sifuna codex", email = "www.antonysifuna07@gmail.com" },
14
+ ]
15
+ keywords = ["deploy", "vercel", "render", "devsecops", "cli", "automation", "github"]
16
+ classifiers = [
17
+ "Development Status :: 3 - Alpha",
18
+ "Environment :: Console",
19
+ "Intended Audience :: Developers",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Operating System :: OS Independent",
22
+ "Programming Language :: Python :: 3",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Programming Language :: Python :: 3.13",
26
+ "Topic :: Software Development :: Build Tools",
27
+ "Topic :: System :: Installation/Setup",
28
+ ]
29
+ dependencies = [
30
+ "typer>=0.12,<1.0",
31
+ "rich>=13.7,<15.0",
32
+ "requests>=2.31,<3.0",
33
+ "PyYAML>=6.0,<7.0",
34
+ "keyring>=24.3,<26.0",
35
+ "platformdirs>=4.0,<5.0",
36
+ ]
37
+
38
+ [project.urls]
39
+ Homepage = "https://github.com/aasz253/DeployForge"
40
+ Repository = "https://github.com/aasz253/DeployForge"
41
+ Documentation = "https://github.com/aasz253/DeployForge#readme"
42
+ Issues = "https://github.com/aasz253/DeployForge/issues"
43
+
44
+ [project.optional-dependencies]
45
+ dev = [
46
+ "pytest>=8.0,<9.0",
47
+ "pytest-cov>=5.0,<6.0",
48
+ "ruff>=0.5,<1.0",
49
+ "mypy>=1.10,<2.0",
50
+ "types-PyYAML>=6.0",
51
+ "bandit>=1.7,<2.0",
52
+ "build>=1.2,<2.0",
53
+ "twine>=5.0,<6.0",
54
+ ]
55
+
56
+ [project.scripts]
57
+ deployforge = "deployforge.cli:entry"
58
+
59
+ [tool.setuptools.packages.find]
60
+ where = ["src"]
61
+
62
+ [tool.ruff]
63
+ target-version = "py311"
64
+ line-length = 100
65
+ extend-exclude = ["tests/fixtures", "build", "dist"]
66
+
67
+ [tool.ruff.lint]
68
+ select = ["E", "F", "W", "I", "UP", "B", "S", "SIM"]
69
+ ignore = ["S603", "S607"]
70
+
71
+ [tool.ruff.lint.per-file-ignores]
72
+ "tests/*" = ["S101", "S105", "S106", "E501"]
73
+ "src/deployforge/cli.py" = ["B008", "S301"]
74
+
75
+ [tool.mypy]
76
+ python_version = "3.11"
77
+ warn_return_any = true
78
+ warn_unused_configs = true
79
+ no_implicit_optional = true
80
+ check_untyped_defs = true
81
+
82
+ [tool.pytest.ini_options]
83
+ addopts = "-q"
84
+ testpaths = ["tests"]
85
+
86
+ [tool.coverage.run]
87
+ source = ["deployforge"]
88
+ omit = ["src/deployforge/ui/*"]
89
+
90
+ [tool.bandit]
91
+ exclude_dirs = ["tests"]
92
+ skips = ["B404", "B603", "B607", "B110"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,3 @@
1
+ """DeployForge — from GitHub to a Live Application. Automatically."""
2
+
3
+ __version__ = "0.1.0"
@@ -0,0 +1,3 @@
1
+ """Package version for DeployForge."""
2
+
3
+ __version__ = "0.1.0"
@@ -0,0 +1,23 @@
1
+ from deployforge.analyzer.backend import BACKEND_CORS_ENV_NAMES, detect_backend
2
+ from deployforge.analyzer.database import detect_database
3
+ from deployforge.analyzer.frontend import FRONTEND_API_ENV_NAMES, detect_frontend
4
+ from deployforge.analyzer.project import (
5
+ BackendApp,
6
+ FrontendApp,
7
+ ProjectAnalysis,
8
+ analyze_project,
9
+ suggest_name,
10
+ )
11
+
12
+ __all__ = [
13
+ "BACKEND_CORS_ENV_NAMES",
14
+ "BackendApp",
15
+ "FRONTEND_API_ENV_NAMES",
16
+ "FrontendApp",
17
+ "ProjectAnalysis",
18
+ "analyze_project",
19
+ "detect_backend",
20
+ "detect_database",
21
+ "detect_frontend",
22
+ "suggest_name",
23
+ ]