# virgilio

> Virgilio, the next generation module bus

Latest version **0.12.5** (published 2015-02-04) · 0 weekly downloads

## Install

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

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.12.5 |
| Published | 2015-02-04 |
| First published | 2014-05-16 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Icemobile BV |
| Maintainers | icemobile |

## Links

- npm: https://www.npmjs.com/package/virgilio
- Repository: https://github.com/icemobilelab/virgilio
- Issues: https://github.com/icemobilelab/virgilio/issues
- npm.io page: https://npm.io/package/virgilio

## Dependencies (3)

- [bunyan](https://npm.io/package/bunyan.md) 1.2.3
- [bluebird](https://npm.io/package/bluebird.md) ^2.3.0
- [node-uuid](https://npm.io/package/node-uuid.md) ^1.4.1

## Recent versions

- 0.12.5 (latest) — 2015-02-04
- 0.12.4 — 2015-01-16
- 0.12.3 — 2014-11-04
- 0.12.2 — 2014-11-03
- 0.12.1 — 2014-10-27
- 0.12.0 — 2014-10-23
- 0.11.1 — 2014-10-21
- 0.11.0 — 2014-10-21
- 0.6.2 — 2014-08-15
- 0.6.1 — 2014-07-28
- 0.6.0 — 2014-07-22
- 0.5.1 — 2014-07-04
- 0.5.0 — 2014-07-02
- 0.4.1 — 2014-07-02
- 0.4.0 — 2014-06-23
- … 7 more at https://npm.io/package/virgilio/versions

## README

<a href="https://github.com/icemobilelab/virgilio"><img src="https://raw.githubusercontent.com/icemobilelab/virgilio/master/images/virgilio.png" align="center"  height="300" width="600"/></a>

# Virgilio
[![wercker status](https://app.wercker.com/status/69a7f421e9d59612238df4e8af206558/s/master "wercker status")](https://app.wercker.com/project/bykey/69a7f421e9d59612238df4e8af206558)
[![NPM version](https://badge.fury.io/js/virgilio.svg)](http://badge.fury.io/js/virgilio)

Virgilio is a tiny framework helping you write modular applications.
Start your project in a single file, then scale upwards as needed.
No refactoring needed.

* [Features](#features)
* [Getting Started](#getting-started)
* [Examples](https://github.com/icemobilelab/virgilio/tree/master/examples)
* [API Reference](https://github.com/icemobilelab/virgilio/wiki/API)
* [Development](https://github.com/icemobilelab/virgilio/wiki/Development)
* [More Tags](#more-tags)

## Features

### Focus on writing code - not organising code
Build your application out of actions, small functions with a specific responsibility.
Move your actions about the project as development progresses without having to  wory about having to refactor.
Use namespaces to oranise your actions, and rest save in the knowledge that they will always return a promise.

### Extend it in any way you like
At less than a 100 lines of actual code, the main library is tiny and we aim to keep it that way.
Additional functionality goes into extensions, which you are free to use or not use as you see fit.
Mix Virgilio-extensions with your own favourite libraries any way you want.

## Getting Started
Get Virgilio from npm.

```js
npm install virgilio
```

Then start defining actions.

```js
Virgilio = require('virgilio');
var virgilio = new Virgilio();
virgilio.defineAction$('number.add', function add(num1, num2) {
    return num1 + num2;
});

Virgilio.number.add(3, 6).then(function(result) {
    console.log(result);    //=> 9
});
```

## More tags
[![Code Climate](https://codeclimate.com/github/icemobilelab/virgilio/badges/gpa.svg)](https://codeclimate.com/github/icemobilelab/virgilio)
[![Test Coverage](https://codeclimate.com/github/icemobilelab/virgilio/badges/coverage.svg)](https://codeclimate.com/github/icemobilelab/virgilio)
[![Dependency Status](https://gemnasium.com/icemobilelab/virgilio.svg)](https://gemnasium.com/icemobilelab/virgilio)

We dedicate this Library to the ServiceRegistrar, the EigenServices and the PuppetDresser.

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