Skip to content

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 toAdd
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 ​

PackageWhat it provides
@celljs/coreDI container, @Component / @Autowired / @Value, AOP, configuration, application lifecycle, logger, request context. Every application depends on it
@celljs/webHTTP server on node:http: middleware chain, body parsing, cookies, sessions, CORS, trace ids, health check, error handlers
@celljs/mvcControllers: @Controller, @Get / @Post / ..., parameter decorators, JSON / text / HTML / file responses, @Catch
@celljs/express-adapterThe backend entry that starts the application and listens on server.host / server.port. Despite its name it has no express dependency
@celljs/httpHTTP client (RestOperations, on fetch) and the shared HttpStatus, HttpHeaders, MediaType
@celljs/validationclass-validator / class-transformer validation of controller and RPC parameters
@celljs/openapiOpenAPI 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-staticServes the frontend build with ETags, ranges and single-page-application fallback
@celljs/typeormTypeORM data sources, OrmContext repositories and @Transactional()
@celljs/cacheNamed cache managers on cache-manager (memory, Redis and other stores)
@celljs/schedule@Scheduler classes with @Cron methods
@celljs/retryRetry templates with retry and back-off policies
@celljs/cqrsCommand, query and event buses, sagas and aggregates
@celljs/grpcgRPC servers and clients on node:http2 with its own .proto parser, no code generation
@celljs/loggerwinston-backed Logger
@celljs/securityForm login, HTTP Basic, logout, @Authenticated(), @PreAuthorize(), policies, password hashing
@celljs/jwtJwtService: sign and verify JSON Web Tokens with node:crypto
@celljs/oauth2-coreOAuth 2.0 / OpenID Connect types shared by the OAuth2 packages
@celljs/oauth2-clientLogin with OAuth2 / OIDC providers; client credentials, password and refresh-token grants
@celljs/oauth2-joseJWK sets and JWS / JWT decoding for the OAuth2 packages
@celljs/wechat-payWeChat Pay API v3 client and a verified notification endpoint
@celljs/alipayAlipay gateway client and a verified notification endpoint
@celljs/stripeStripe client and a verified webhook endpoint

Frontend ​

PackageWhat it provides
@celljs/reactReact frontend: pages of src/browser/pages, routing, layouts, hooks to the DI container, the application shell
@celljs/widgetFrontend infrastructure @celljs/react builds on: widgets, themes, locales
@celljs/tuiTerminal user interfaces on pi-tui, including a chat for agents

AI ​

PackageWhat it provides
@celljs/ai-coreProvider-neutral ChatModel, EmbeddingModel, PromptTemplate and the routing ProxyChatModel
@celljs/ai-pi20+ model providers through pi-ai, addressed as pi:<provider>/<model>
@celljs/ai-agentTool-using agents whose tools are Cell components; events over SSE
@celljs/ai-coding-agentpi coding agent sessions managed by DI

Cloud ​

PackageWhat it provides
@celljs/cloudShared cloud abstractions: credentials, region, account and the ObjectStorageService interface
@celljs/ossObjectStorageService on Alibaba Cloud OSS
@celljs/cosObjectStorageService on Tencent Cloud COS

Deploying to Function Compute, SCF, Lambda, Vercel or Cloudflare needs no package: choose the preset (Building and deploying).

Toolchain ​

PackageWhat it provides
@celljs/cliThe cell command, presets, deployers, createTestApp(), these guides
@celljs/viteThe Vite plugin and CellBuilder behind cell build and cell dev
@celljs/kitShared types for toolchain modules and presets: CellError, events, definePreset