- ⚡ File-based Content – no DB needed.
- 🧱 Reusable Blocks – with a modular
page_builder. - 📁 Organized Assets – with a modern media library.
- 🎨 SCSS Styling – modular, maintainable styles.
- 🧪 Easy Local Dev – run with nearly zero setup.
- 🚀 Lightweight & Fast – powered by Express & EJS.
- 👥 Multiple users – allows the user to have multiple accounts.
- 🕙 Content scheduler - plan when a post should be released
- 🔖 Content versioning - configurable content versioning of entries
- 🧩 Headless mode - use headless mode to implement TEP anywhere
- 🔌 Plugins - easy management for a variety of plugins
- Clone the repo and install dependencies:
npm install
- Copy the example config and customize it:
cp config.example.ts config.ts
- Run the development server
npm run dev
- Build for production
npm run prod
tep-cms/
├── content/
│ ├── collections/ # All collections (pages, blogs etc.)
│ ├── globals/ # Global site settings (header, footer settings etc.)
│ ├── navigation/ # Navigation menu's
│ └── schemas/ # Collections & globals schemas
├── core/
│ ├── interfaces/ # Interface exports
│ ├── manager/
│ │ ├── controllers/ # Manager route controllers.
│ │ ├── helpers/ # Manager route helpers.
│ │ └── services/ # Manager controller services.
│ ├── middlewares/ # Global middleware
│ ├── services/ # Route services
│ └── validation/ # Validation system
├── public/
│ ├── assets/
│ │ ├── base/ # Static theme images, icons, etc.
│ │ └── uploads/ # Uploaded images, icons, etc.
│ └── css/ # Compiled SCSS styling
├── src/
│ ├── blocks/ # Page_builder blocks & components
│ ├── plugins/ # Installed plugins
│ ├── requests/ # Request validators
│ ├── routes/ # System routing
│ ├── templates/
│ │ ├── layouts/ # Page layouts
│ │ ├── manager/ # /manager views
│ │ └── views/ # Public views
│ ├── types/ # Package definitions
│ └── utils/ # Utility functions
├── styles/ # SCSS styling
├ config.ts
└ server.ts- Use version control to track content
- Turn off caching during the development fase
- error codes
