# Frequently Asked Questions (/docs/faq)





## General [#general]

<Accordions type="single">
  <Accordion id="faq-1" title="What is TriStack?">
    A CLI that scaffolds backend projects for Python, Go, and Rust, plus a matching web-based Stack Builder. It generates clean, ready-to-run projects with the framework, ORM, migrations, database, package manager, and addons you choose — FastAPI/Litestar/Django/Flask, Gin/Fiber/Echo/Chi/Go stdlib, or Axum/Actix Web/Rocket/Warp/Salvo/Loco. See the Quick Start on the docs home.
  </Accordion>

  <Accordion id="faq-2" title="Do I need to install anything globally?">
    No. The CLI is a standalone native binary. For Python, run it with `uvx tristack` (or `uv tool
      install tristack` / `pipx install tristack`); Go and Rust devs run the standalone `tristack`
    binary via curl. You only need the runtime of whatever language you scaffold (e.g. Python + your
    chosen package manager for a generated Python project).
  </Accordion>

  <Accordion id="faq-3" title="Which package manager do generated projects use?">
    It depends on the language. Python offers `uv` (default), `poetry`, or `pip`; Go uses `go`
    modules; Rust uses `cargo`. uv is recommended for Python for speed and modern conventions.
  </Accordion>

  <Accordion id="faq-4" title="What Python version is required?">
    Python projects target Python 3.12+. Use 3.12+ to avoid runtime warnings and version-gating
    issues.
  </Accordion>

  <Accordion id="faq-5" title="Can I use this with an existing project?">
    The CLI scaffolds new projects into a fresh directory. It does not modify existing codebases.
  </Accordion>

  <Accordion id="faq-6" title="Where do generated files live?">
    In a single top-level directory named after your project (e.g. `my-api/`). See [Project Structure](/docs/project-structure) for the layout.
  </Accordion>
</Accordions>

## Choosing options [#choosing-options]

<Accordions type="single">
  <Accordion id="faq-7" title="Does the CLI recommend a stack?">
    The default Python stack is FastAPI + SQLModel + Alembic + SQLite + uv with Docker, Ruff, and pytest. Each language has its own defaults (Go: Gin + GORM + Goose; Rust: Axum + SeaORM). Pick anything else that fits your needs — the CLI validates that values match your chosen language. See [Compatibility](/docs/cli/compatibility).
  </Accordion>

  <Accordion id="faq-8" title="I'm unsure between FastAPI and Django, or SQLModel and SQLAlchemy">
    See [Compatibility](/docs/cli/compatibility) and the option hints in the prompts. FastAPI + SQLModel is the Pydantic-native default; Django bundles batteries (ORM, admin, migrations) of its own.
  </Accordion>
</Accordions>

## Common issues [#common-issues]

<Accordions type="single">
  <Accordion id="faq-9" title="The CLI says uv (or poetry/pip) was not found">
    Install your chosen package manager and make sure it is on your PATH, then rerun. See [Prerequisites](/docs#prerequisites).
  </Accordion>

  <Accordion id="faq-10" title="Does TriStack collect any usage data?">
    No. The CLI does not currently transmit telemetry. The <code>--disable-analytics</code> flag
    and the cross-tool <code>DO\_NOT\_TRACK=1</code> convention are honored for a single run or
    permanently, and are reserved for any future telemetry.
  </Accordion>
</Accordions>

## Getting help [#getting-help]

* Docs: Quick Start, CLI, Project Structure, Compatibility
* Ask/Report: GitHub Issues & Discussions
