A collection of small, ready-to-deploy application templates for the ObjectStack cloud application marketplace.
This repository contains lightweight application templates built on @objectstack/spec v3.0.8. Each template is a self-contained, deployable application designed to be published to the ObjectStack cloud marketplace.
Unlike HotCRM β a large, complex enterprise CRM system β the templates in this repository are intentionally minimal and focused, serving as building blocks and starting points for common business use cases.
| Template | Description | Objects |
|---|---|---|
| todo | Task management app with lists, items, and priorities | 2 |
| blog | Blog and content management with posts and categories | 3 |
| inventory | Inventory tracking with products, stock levels, and suppliers | 3 |
# Prerequisites: Node.js >= 20.9.0, pnpm >= 9.0.0
git clone https://github.com/objectstack-ai/templates.git
cd templates
pnpm install
# Run a specific template in development mode
pnpm --filter @templates/todo dev
# Build all templates
pnpm build
# Run tests
pnpm test
# Typecheck
pnpm typechecktemplates/
βββ templates/ # Application templates (each is a standalone app)
β βββ todo/ # Task management template
β β βββ src/ # Source files (objects, hooks, plugin)
β β βββ package.json
β β βββ tsconfig.json
β β βββ objectstack.config.ts
β βββ blog/ # Blog / CMS template
β βββ inventory/ # Inventory management template
βββ package.json # Monorepo root
βββ pnpm-workspace.yaml # Workspace config
βββ tsconfig.json # Root TypeScript config
βββ base.tsconfig.json # Shared TypeScript base
βββ vitest.config.ts # Test config
βββ ROADMAP.md # Development roadmap
Each template follows the same structure as an ObjectStack plugin:
templates/my-app/
βββ package.json # Package manifest
βββ tsconfig.json # TypeScript config (extends base.tsconfig.json)
βββ objectstack.config.ts # Standalone run config
βββ src/
βββ plugin.ts # Plugin definition (objects, hooks, actions, apps)
βββ *.object.ts # Business object definitions
βββ hooks/ # Event hooks (optional)
βββ *.hook.ts
- Create the directory:
mkdir templates/my-app - Add
package.jsonwith name@templates/my-app - Add
tsconfig.jsonextending../../base.tsconfig.json - Define objects in
src/*.object.tsusingObjectSchema.create() - Wire everything in
src/plugin.ts - Add
objectstack.config.tsfor standalone execution - Update
tsconfig.jsonandvitest.config.tsat the root to include the new template
- Runtime: @objectstack/spec v3.0.8
- Language: TypeScript >= 5.3.0
- Package Manager: pnpm >= 9.0.0
- Node.js: >= 20.9.0
- Testing: Vitest
See CONTRIBUTING.md for contribution guidelines.
MIT