Files
pack/docs
cbdb236184 feat: automatic start command for fastapi applications, improved provider docs (#353)
* docs: update provider documentation with missing features

Added missing documentation for Node, Python, and Ruby providers:

Node.js:
- Added .node-version file support for version detection
- Documented Tanstack Start framework detection and caching
- Added Puppeteer system dependencies documentation
- Clarified React Router cache support

Python:
- Added FastHTML framework detection and start command
- Documented Flask with gunicorn start command
- Added FastAPI framework detection
- Documented additional main file names (app.py, bot.py, hello.py, server.py)
- Added pycairo system dependency documentation

Ruby:
- Documented Node.js integration for Ruby projects
- Added Bootsnap precompilation support documentation
- Documented Propshaft asset pipeline support
- Added local path dependencies support documentation
- Documented Bundler version auto-detection
- Added YJIT/rustc requirement for Ruby 3.2+
- Documented jemalloc performance optimization
- Updated Charlock Holmes dependencies to include full list

* docs: complete FastAPI documentation section

Clarify that FastAPI detection is for metadata only and doesn't provide
automatic start command configuration. Users should configure their own
production ASGI server.

* feat: add python-fastapi example project

Add example project demonstrating FastAPI with custom start command
configuration. This example shows how to configure FastAPI applications
that need explicit ASGI server configuration.

Features:
- Simple FastAPI app with root and health endpoints
- Uses uvicorn as the ASGI server
- Custom start command in railpack.json
- HTTP check test to verify the app runs correctly

* feat: add automatic FastAPI start command detection

Add automatic start command detection for FastAPI projects when uvicorn
is available as a dependency, similar to how Flask and FastHTML are
handled.

Changes:
- Add isFastapi() method to Python provider
- Automatically detect FastAPI + uvicorn and set start command
- Update StartCommandHelp to include FastAPI
- Refactor getRuntime() to use isFastapi() method for consistency

Example updates:
- Convert python-fastapi example to use uv package manager
- Remove railpack.json (no longer needed with automatic detection)
- Add pyproject.toml and uv.lock for dependency management

Documentation updates:
- Update FastAPI section to reflect automatic start command detection
- Clarify that uvicorn must be present as a dependency

* refactor: remove unused /health endpoint from FastAPI example

* test: update snapshot

---------

Co-authored-by: Hanzo Dev <[email protected]>
2025-11-23 07:54:54 -07:00
..
2025-01-29 22:23:51 -05:00
2025-03-04 12:38:49 -05:00
2025-01-29 22:23:51 -05:00
2025-11-20 16:06:15 -07:00
2025-06-12 03:20:53 -04:00
2025-06-12 03:20:53 -04:00
2025-02-28 11:51:01 -05:00
2025-01-29 22:23:51 -05:00

Railpack Docs

The docs are built with Starlight.

Getting Started

Prerequisites

  • Bun - Make sure you have Bun installed on your system

Installation

bun i

Development

To start the development server:

bun run dev

Visit localhost:4321 to view the documentation.