Our platform automatically detects the language and framework of your project to build and deploy it with zero configuration from your side.
To help ensure your app is detected and deployed smoothly, we recommend the following best practices depending on the technology you’re using.
General Repository Structure
-
Your source code should be located at the root of the repository.
-
Include the main configuration or manifest file (e.g.,
package.json
,requirements.txt
,pom.xml
, etc.). -
Avoid empty folders or including multiple apps in the same repo (monorepos are currently not supported).
-
Add a proper
.gitignore
file for your stack.
Supported Technologies & Implementation Tips
-
Ensure your
package.json
includes properbuild
and/orstart
scripts. -
Common frameworks supported:
-
React: use
vite
,react-scripts
, or Next.js for SSR/SPA. -
Vue: use Vite or Vue CLI. Ensure
vite.config.ts
orvue.config.js
is present. -
Angular: include
angular.json
and make sureng build
works correctly. -
Next.js, Astro, Remix, SvelteKit: include framework-specific config files.
-
-
Specify a custom output directory in the config file if it differs from the default (
dist
,.next
, etc.). -
Dependencies should be up to date and installed correctly.
Static Frontend Sites (HTML/CSS/JS)
-
Use standard output folders like
dist
orbuild
. -
Frameworks like Vite, Astro, or SvelteKit must define their output directory in their config.
-
Static apps must include a valid
index.html
in the output.
Java / Spring Boot
-
Include
pom.xml
(Maven) orbuild.gradle
(Gradle) in the root. -
Use a single main class annotated with
@SpringBootApplication
. -
Build output should be an executable JAR (
java -jar
ready). -
Avoid untracked runtime dependencies or complex local configs.
Python
-
Include a
requirements.txt
orpyproject.toml
in the root. -
For Flask, Django, or FastAPI, clearly define the entry point (
app.py
,main.py
, etc.). -
Use
gunicorn
or another WSGI server in production. -
Avoid custom non-standard folder structures.
Go
-
Place your
main.go
file in the root or a clearly named subfolder. -
Ensure
go.mod
is included and valid. -
Use
go build
to produce a single binary. -
For web apps, expose the service using a standard HTTP server like
net/http
.
Rust
-
Include a valid
Cargo.toml
file at the root. -
The main application should be inside the
src
directory. -
Use
cargo build --release
to produce the binary. -
Web apps using frameworks like
actix-web
orrocket
are supported if they expose an HTTP server.
Best Practices
-
Avoid interactive prompts or complex scripts during install or start.
-
Make sure your app doesn’t depend on non-versioned external tools or configs.
-
Stick to well-supported and stable versions of your language/framework.
Avoid These Pitfalls
-
Empty or documentation-only repositories.
-
Incomplete projects without build/start scripts.
-
Unusual or overly nested folder structures.
-
IDE-specific or environment-specific files/configs.
What if My Project Isn't Detected?
If your app isn’t detected or deployed:
-
Double-check that it follows the expected structure described above.
-
Make sure necessary config files are present.
-
Ensure there are no missing scripts or unsupported edge cases.
Still having trouble? Reach out to our support team — we’re here to help you get deployed!