Technology selection
Rules
- Prefer what
se_detect_environmentshows is installed. - Prefer stdlib and boring libraries.
- One language per small project unless there is a hard reason.
- Web UI: static HTML first; add a framework only for real SPA complexity.
- API: Python FastAPI or Flask, or Node Express — pick the language the rest of the repo uses.
- CLI: Python argparse or Node bin, or C/Go/Rust if the user asked native.
- Desktop: tkinter if Python; do not invent Electron unless requested.
- Android: Android MCP, Kotlin Compose default there.
- Data: Database MCP for SQL; do not embed a new ORM "because".
- Windows printers/OS: Windows MCP.
Template map (se_create_project)
| Need | Template |
|---|---|
| CLI | python-cli, node-cli, c-cli, go-cli, rust-cli, java-cli |
| Library | python-lib, node-library |
| HTTP API | python-fastapi, python-flask, node-express |
| Website | static-web |
| Desktop | python-desktop |
If Go/Rust missing, you may still scaffold, but se_build will fail honestly.