Firenze
Adapter based JavaScript ORM for Node.js and the browser
Install / Use
/learn @fahad19/FirenzeREADME
firenze.js
A database agnostic adapter-based object relational mapper (ORM) targetting node.js and the browser.
Visit http://firenze.js.org for documentation.
Key features
- Database agnostic Adapter based architecture
- Intituitive query builder
- Migrations API (with rollback)
- Highly extensible with Behavior pattern for Collections and Models
- Promise based workflow
- Strong and flexible validation system
- CLI support
- API for Transactions for supported adapters
- Footprint of ~40kB minified file
The project is still under active development, and more features are expected to land in future releases.
Installation
With npm:
$ npm install --save firenze
Or Bower:
$ bower install --save firenze
Available adapters
- localStorage (for browser only)
- Memory (works in both node and the browser)
- MySQL
- SQLite 3
Supports v0.2.x:
Available behaviors
Testing
Tests are written with mocha, and can be run via npm:
$ npm test
Thanks
The project couldn't have happened if there weren't other projects to be inspired from. A big thanks goes to these open source projects that directly or indirectly helped make it possible:
License
MIT © Fahad Ibnay Heylaal
Related Skills
oracle
337.7kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
prose
337.7kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
Command Development
83.3kThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
Plugin Structure
83.3kThis skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.
