TypeScript Getting Started
Use TypeScript when the first project is a web app, an API service, or a shared package that should live inside the same Putnami workspace graph as everything else.
This path gives you a runnable project first, then points you to the framework primitives that matter next.
Pick the project shape
| You need... | Template | What you get |
|---|---|---|
| A React SSR application | typescript-web |
File-based pages, layouts, loaders, actions, islands, static assets |
| An HTTP API service | typescript-server |
API routing, handlers, tests, application runtime |
| A shared TypeScript package | typescript-library |
Package exports, tests, workspace dependency wiring |
If you are starting from an empty directory:
putnami initCreate the project
For a web app:
putnami projects create web --template typescript-web
putnami deps install
putnami serve webFor an API service:
putnami projects create api --template typescript-server
putnami deps install
putnami serve apiFor a library:
putnami projects create ui --template typescript-library
putnami deps install
putnami test uiWhat to look at first
Start with the project shape, then add framework depth only when the app needs it:
- Web for React SSR, routing, loaders, actions, and islands.
- API for HTTP endpoints and server-side handlers.
- Configuration when the first environment variable appears.
- Dependency injection before runtime wiring becomes implicit.
- Testing before the project becomes a dependency for another project.
Daily loop
putnami serve web
putnami test web
putnami lint,test,build --impacted--impacted keeps the feedback loop scoped to the projects affected by your branch.
Read next
- TypeScript overview for the package map and runtime model.
- Extension for build, test, lint, serve, publish, and Docker behavior.
- Tooling & Workspace for the shared graph and CLI model.