Package catalog
All packages are published under @celljs with the same version; keep them on one version. Installing a component package is enough to use it: its DI modules and cell.yml are loaded automatically (see components). Each name links to its reference.
Which package do I need?
| I want to | Add |
|---|---|
| Write REST controllers | @celljs/mvc (with @celljs/express-adapter as the server entry; both are in the templates) |
| Validate request bodies | @celljs/validation + class-validator |
| Publish OpenAPI / Swagger UI | @celljs/openapi |
| Call my backend from my frontend with types | @celljs/rpc |
| Build a React frontend | @celljs/react + @celljs/serve-static |
| Use a SQL database | @celljs/typeorm + a driver (mysql2, pg, better-sqlite3, sql.js, ...) |
| Cache values in memory or Redis | @celljs/cache |
| Run cron jobs | @celljs/schedule |
| Retry failing calls with back-off | @celljs/retry |
| Separate commands, queries and events | @celljs/cqrs |
| Log with winston | @celljs/logger |
| Log users in, protect routes | @celljs/security |
| Issue and verify JWTs | @celljs/jwt |
| Sign in with GitHub, Google or another OAuth2 / OIDC provider | @celljs/oauth2-client (with @celljs/security) |
| Call other HTTP APIs | @celljs/http (RestOperations) |
| Serve or call gRPC services | @celljs/grpc |
| Talk to LLMs | @celljs/ai-core + @celljs/ai-pi |
| Build an agent whose tools are my services | @celljs/ai-agent |
| Run a coding agent inside my application | @celljs/ai-coding-agent |
| Build a terminal UI | @celljs/tui (with the cli preset) |
| Store files in Alibaba Cloud OSS / Tencent Cloud COS | @celljs/oss / @celljs/cos |
| Take payments with WeChat Pay, Alipay or Stripe | @celljs/wechat-pay / @celljs/alipay / @celljs/stripe |
Runtime
| Package | What it provides |
|---|---|
@celljs/core | DI container, @Component / @Autowired / @Value, AOP, configuration, application lifecycle, logger, request context. Every application depends on it |
@celljs/web | HTTP server on node:http: middleware chain, body parsing, cookies, sessions, CORS, trace ids, health check, error handlers |
@celljs/mvc | Controllers: @Controller, @Get / @Post / ..., parameter decorators, JSON / text / HTML / file responses, @Catch |
@celljs/express-adapter | The backend entry that starts the application and listens on server.host / server.port. Despite its name it has no express dependency |
@celljs/http | HTTP client (RestOperations, on fetch) and the shared HttpStatus, HttpHeaders, MediaType |
@celljs/validation | class-validator / class-transformer validation of controller and RPC parameters |
@celljs/openapi | OpenAPI 3.0 document and Swagger UI built from the controllers |
@celljs/rpc | @Rpc services and typed proxies (useRpc of @celljs/react, @Autorpc) over JSON-RPC on HTTP |
@celljs/serve-static | Serves the frontend build with ETags, ranges and single-page-application fallback |
@celljs/typeorm | TypeORM data sources, OrmContext repositories and @Transactional() |
@celljs/cache | Named cache managers on cache-manager (memory, Redis and other stores) |
@celljs/schedule | @Scheduler classes with @Cron methods |
@celljs/retry | Retry templates with retry and back-off policies |
@celljs/cqrs | Command, query and event buses, sagas and aggregates |
@celljs/grpc | gRPC servers and clients on node:http2 with its own .proto parser, no code generation |
@celljs/logger | winston-backed Logger |
@celljs/security | Form login, HTTP Basic, logout, @Authenticated(), @PreAuthorize(), policies, password hashing |
@celljs/jwt | JwtService: sign and verify JSON Web Tokens with node:crypto |
@celljs/oauth2-core | OAuth 2.0 / OpenID Connect types shared by the OAuth2 packages |
@celljs/oauth2-client | Login with OAuth2 / OIDC providers; client credentials, password and refresh-token grants |
@celljs/oauth2-jose | JWK sets and JWS / JWT decoding for the OAuth2 packages |
@celljs/wechat-pay | WeChat Pay API v3 client and a verified notification endpoint |
@celljs/alipay | Alipay gateway client and a verified notification endpoint |
@celljs/stripe | Stripe client and a verified webhook endpoint |
Frontend
| Package | What it provides |
|---|---|
@celljs/react | React frontend: pages of src/browser/pages, routing, layouts, hooks to the DI container, the application shell |
@celljs/widget | Frontend infrastructure @celljs/react builds on: widgets, themes, locales |
@celljs/tui | Terminal user interfaces on pi-tui, including a chat for agents |
AI
| Package | What it provides |
|---|---|
@celljs/ai-core | Provider-neutral ChatModel, EmbeddingModel, PromptTemplate and the routing ProxyChatModel |
@celljs/ai-pi | 20+ model providers through pi-ai, addressed as pi:<provider>/<model> |
@celljs/ai-agent | Tool-using agents whose tools are Cell components; events over SSE |
@celljs/ai-coding-agent | pi coding agent sessions managed by DI |
Cloud
| Package | What it provides |
|---|---|
@celljs/cloud | Shared cloud abstractions: credentials, region, account and the ObjectStorageService interface |
@celljs/oss | ObjectStorageService on Alibaba Cloud OSS |
@celljs/cos | ObjectStorageService on Tencent Cloud COS |
Deploying to Function Compute, SCF, Lambda, Vercel or Cloudflare needs no package: choose the preset (Building and deploying).
Toolchain
| Package | What it provides |
|---|---|
@celljs/cli | The cell command, presets, deployers, createTestApp(), these guides |
@celljs/vite | The Vite plugin and CellBuilder behind cell build and cell dev |
@celljs/kit | Shared types for toolchain modules and presets: CellError, events, definePreset |