
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
I made this because I was doing the same thing over and over and over....
See, I use a main application, and then many sub applications for each section. I usually want each section to have it's own public and vendor directories; it's own front-end coffeescripts that get compiled and served as javascripts; and a bunch of other middleware.
Limby allows you to create a middleware set that is used independently in each sub-module ( limb ).
npm install limby
To use terminal commands such as limby g migration, limby migrate, limby rollback --step=3, limby redo, install with -g
Limby handles a complete user system, including sign up, login, logout, forgot password, edit account, etc.
It comes with overrideable default views for these user managment tasks. They can be fully overriden, or extended.
It's easily extendable. Within limbs, you create sections of your application. such as limbs/message_board.
Limby will look at each limb, and load it's structure. models, controllers, views, app.js, migrations are the main components of a limb.
I said views can be overriden or extended. The core/views folder will overwrite anything in node_modules/limby/views.
views/widgets ( in core or a limb ) are used to extend certain views that call renderWidgets, such as the navbar, base/index, home/index, and account/index views.
renderWidgets on home/index will look for views/widgets/home/index, making it easy to extend the navbar and main sections with your limbs.
So for example, your limb will have a migration add_favorite_food_to_users_table.
To create the migration
cd core/limbs/myLimb && limby g migration add_favorite_food_to_users_table
Edit the created migration. It has an example in the generated file. See http://knexjs.org/ for how to build schema migrations.
Then, create and edit models/user.js like so:
module.exports = function(limby) {
// Add attribute to user whitelist
limby.models.User.prototype.permittedAttributes.push('favorite_food');
}
And in the limb's views/widgets/account/index.ect.html, you can extend fields on the account page so your fb_id
<div>
<h3> Favorite Food </h3>
<input name="favorite_food" value="<%- _.escape(@body.favorite_food) || @user.favorite_food %>" />
</div>
You've just extended the main user table with your own field, without editing any base files.
Alphaware -- pre pre release
#Usage
structure
var
limby,
join = require('path').join,
app = require('./core/app'),
Limby = require('limby');
limby = new Limby(join(__dirname, 'config'));
limby.loadNative()
.then(function(){
return limby.loadLimbs();
})
.then(function(){
return limby.require('core/app');
})
.then(function(){
limby.route();
});
module.exports = function(limby) {
var app = limby.app;
// http://domain.com/terms_of_use
app.get('/terms_of_use', ...);
}
module.exports = function(limby, models) {
// models == limby.limbs.food.models
return {
indexRoute: function(req, res, next) {
// sends limbs/food/views/index
// res.view adds several attributes to @ context
res.view('index');
},
};
};
Requires config/index.js -- customize for your directory structure
module.exports = {
paths: {
base: join(__dirname, '..'),
core: join(__dirname, '../core'),
module: join(__dirname, '../node_modules/limby'),
views: join(__dirname, '../core/views'),
limbs: join(__dirname, '../core/limbs'),
},
}
#TODO: Example app
#TODO: Publish facebook auth limb
FAQs
Server framework for modular applications
We found that hometree demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.