# brisk

> An MVC framework for Node.js, built on top of Express. Brisk omits most of the platform-specific conventions and returns application development to a more traditional object-oriented structure.

Latest version **1.0.10** (published 2025-06-28) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install brisk
pnpm add brisk
yarn add brisk
bun add brisk
```

## Health

**Score 35/100 (D)** — status: stable.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 1.0.10 |
| Published | 2025-06-28 |
| First published | 2012-08-11 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=10.x.x |
| Dependencies | 3 |
| Unpacked size | 76.3 KB |
| Known vulnerabilities | 0 (+3 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 4 |
| Author | makesites |
| Maintainers | makesites |
| Keywords | node, express, framework, brisk |

## Links

- npm: https://www.npmjs.com/package/brisk
- Repository: https://github.com/makesites/brisk
- Homepage: http://makesites.org/projects/brisk
- Issues: https://github.com/makesites/brisk/issues
- npm.io page: https://npm.io/package/brisk

## Dependencies (3)

- [connect](https://npm.io/package/connect.md) 3.6.6
- [express](https://npm.io/package/express.md) 4.16.4
- [underscore](https://npm.io/package/underscore.md) 1.12.1

## Alternatives

- [@sveltejs/kit](https://npm.io/package/@sveltejs/kit.md) — 2.2M weekly downloads
- [@tangle-network/brand](https://npm.io/package/@tangle-network/brand.md) — 10.0K weekly downloads
- [seneca](https://npm.io/package/seneca.md) — 7.4K weekly downloads
- [@bsb/base](https://npm.io/package/@bsb/base.md) — 7.2K weekly downloads
- [@modern-js/plugin-swc](https://npm.io/package/@modern-js/plugin-swc.md) — 3.4K weekly downloads

## Recent versions

- 1.0.10 (latest) — 2025-06-28
- 1.0.9 — 2025-04-12
- 1.0.8 — 2025-03-28
- 1.0.7 — 2025-03-22
- 1.0.6 — 2025-03-20
- 1.0.5 — 2025-01-28
- 1.0.4 — 2024-03-28
- 1.0.3 — 2024-03-24
- 1.0.2 — 2024-02-24
- 1.0.0 — 2019-04-08
- 0.9.2 — 2019-04-08
- 0.9.1 — 2015-03-13
- 0.9.0 — 2015-02-07
- 0.8.8 — 2015-01-24
- 0.8.7 — 2015-01-02
- … 21 more at https://npm.io/package/brisk/versions

## README

# Brisk

An MVC framework for Node.js, built on top of Express. Brisk omits most of the platform-specific conventions and returns application development to a more traditional object-oriented structure. Inspired by Backbone.js and using lessons learnt from developing KISSCMS.

At its core it uses a modified version of [John Resig’s simple class](http://ejohn.org/blog/simple-javascript-inheritance/). This provides class level inheritance and callbacks.


## Features

* Auto-routing
* Slim express configuration
* OO architecture
* Clean app folder


## Install
Using npm:
```
npm install brisk
```


## Usage

When initializing Brisk the express app is passed as a site module.
```
var brisk = require("brisk"),
  express = require("express");

var modules = {
  app : express()
};

// initialize
brisk.init( modules );
```

In addition, a number of other modules may be passed that are necessary for the site to function.

For example, modules may also include: ```db, server, sessions```...


## Folder structure

Following best practices, the expected folder structure is enforcing seperation of concerns using an MVC architecture and looks something like this:
```
app
 |_ controllers
 |_ helpers
 |_ models
 |_ views
config
 |_ brisk.js
```

* ***controllers*** define the routes for the site
* ***helpers*** contains helper routines referenced in controllers
* ***models*** describe the data structures
* ***views*** hosts a set of html fragments, used to generate the output of the site

The config folder may contain more configuration files, as required, but the ```config/brisk.js``` will be seeked out to overwrite the default configuration.

## Configuration

The ```config``` folder should contain all the site configuration.

Each helper may require their own config file, manually used & independent of brisk, but there are two config files that brisk will automatically try to load:

### brisk

This is the default configuration of the site, overwriting the ```config/default.js``` values in the node module

### express

This cofiguration file is dedicated to configuring express, which is a core component of Brisk.


## Credits

Initiated by Makis Tracend ([@tracend](http://twitter.com/tracend))

Distributed through [Makesites.org](http://makesites.org)

Released under the [Apache License, v2.0](http://makesites.org/licenses/APACHE-2.0)

---
_Source: https://npm.io/package/brisk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
