feat: Add Be and tbd skill, also added Roadmap file

This commit is contained in:
2026-05-10 16:32:12 -04:00
parent 3500ade13f
commit 0bb8885802
29587 changed files with 10611695 additions and 0 deletions

21
Skills/@be/be/node_modules/configurazione/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014 Michiel van der Geest
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

101
Skills/@be/be/node_modules/configurazione/README.md generated vendored Normal file
View File

@@ -0,0 +1,101 @@
#Configurazione
##A simple configuration manager in Node.js
###Introduction
Configurazione is a very simple tool to make the management of configuration options for modules and classes easier.
In this first version, it's (limited) capabilities include:
- setting default options
- setting user defined options (which take precedence)
- set configuration options at runtime
- retrieve configration values
###Instalation
Install Configurazione through NPM
```
npm install configurazione --save
```
This will install Configurazione as a dependency and update your package.json automatically.
Next require Configurazione in your Node.js script, like this:
```
var configurazione = require('configurazione');
```
###Usage
Configurazione has a clean and simple API, currently consisting of 4 methods:
####Setting default options
Imagine that we have an Icecream class, and in the constructor of our class, we define some following default options. We can easily add them to the Configurazione manager by calling ```configurazione.defaults()```
```
var defaultOptions = {
name: 'Super delicious icecream',
flavours: ['vanilla', 'strawberry', 'chocolate'],
price: 10,
discount: false
};
// add the default options to the Configurazione manager
configurazione.defaults(defaultOptions);
```
####Setting user options
Next imagine that we instantiate a new Icecream, passing our own custom options. Let's say we want to enable a discount.
```
new Icecream({discount: true});
```
In the constructor of our Icecream class we now add the user options to the Configurazione manager by calling ```config.options()```
```
var defaultOptions = {
name: 'Super delicious icecream',
flavours: ['vanilla', 'strawberry', 'chocolate'],
price: 10,
discount: false
};
// add the default options to the Configurazione library
configurazione.defaults(defaultOptions);
// add the user options to the Configurazione library
configurazione.options(userOptions);
```
####Getting configuration options
Next, inside our Icecream class, when we want to use a configuration option, we simply ask Configurazione to retrieve the correct value for a specific option. Configurazione will figure out if it should return the default value, or the user submitted value. User submitted options haven precedence over the default values.
```
var name = configurazione.get('name');
console.log(name); // prints 'Super delicious icecream'
var discount = configurazione.get('discount');
console.log(discount); // prints 'true', since user options take precedence over default options
```
####Setting configuration options
Sometimes, we want to store a specific configuration value at runtime. It's possible to add a new option or overwrite the value of an existign one.
```
var price = configurazione.get('price');
console.log(price); // prints '10'
// apply the discount
if(configurazione.get('discount'))
{
configurazione.set('price', 8);
}
var price = configurazione.get('price');
console.log(price); // prints '8'
```

View File

@@ -0,0 +1,38 @@
var configurazione = require('../lib/configurazione');
function Icecream(userOptions)
{
var defaultOptions = {
name: 'Super delicious icecream',
flavours: ['vanilla', 'strawberry', 'chocolate'],
price: 10,
discount: false
};
// add the default options to the configurazione library
configurazione.defaults(defaultOptions);
// add the user options to the configurazione library
configurazione.options(userOptions);
var name = configurazione.get('name');
console.log(name); // prints 'Super delicious icecream'
var discount = configurazione.get('discount');
console.log(discount); // prints 'true', since user options take precedence over default options
var price = configurazione.get('price');
console.log(price); // prints '10'
// apply the discount
if(configurazione.get('discount'))
{
configurazione.set('price', 8);
}
var price = configurazione.get('price');
console.log(price); // prints '8'
}
new Icecream({discount: true});

View File

@@ -0,0 +1,103 @@
/**
* Configurazione
* A simple configuration manager in Node.js
* version 0.0.1
* Copyright 2014 - Michiel van der Geest
*/
/**
* Constructor
*/
function Configurazione() {
if (!(this instanceof Configurazione)) {
return new Configurazione();
}
this.mergedOptions = this.defaultOptions = {};
}
/**
* Sets the default options.
* @param {object} defaultOptions - object with the default options.
* @return void
*/
Configurazione.prototype.defaults = function (defaultOptions) {
this.mergedOptions = this.defaultOptions = defaultOptions;
}
/**
* Merges user defined options with the defaults. User defined takes precedence over defaults.
* @param {object} userOptions - object with the user defined options.
* @return void
*/
Configurazione.prototype.options = function (userOptions) {
this.userOptions = userOptions;
this.mergedOptions = merge(this.defaultOptions, this.userOptions);
};
/**
* Sets a specific key / value configuration option.
* @param {string} property - name of the property.
* @param {mixed} value - value of the property.
*/
Configurazione.prototype.set = function (property, value) {
this.mergedOptions[property] = value;
};
/**
* Gets a specific key from the configuration options (user merged with defaults).
* @param {string} property - name of the property.
* @return {mixed} - value of the property.
*/
Configurazione.prototype.get = function ( property ) {
return this.mergedOptions[property] ? this.mergedOptions[property] : false;
};
/**
* Exposes an instance of Configurazione to the outside world
*/
module.exports = Configurazione();
/**
* Private function - Merges 2 objects
* @param {object} defaults - default object
* @param {object} options - user defined options
* @return {object} - merged object
*/
function merge( defaults, options ) {
var merged = {};
// loop through default options and put each of them in the 'merged' object.
for (property in defaults)
{
if (Object.prototype.hasOwnProperty.call(defaults, property))
{
merged[property] = defaults[property];
}
}
// loop through user defined options and put each of them them in the 'merged' object (overwriting the defaults).
for (property in options)
{
if (Object.prototype.hasOwnProperty.call(options, property))
{
merged[property] = options[property];
}
}
// return the merged object.
return merged;
};

25
Skills/@be/be/node_modules/configurazione/package.json generated vendored Normal file
View File

@@ -0,0 +1,25 @@
{
"name": "configurazione",
"version": "0.0.1",
"description": "A simple configuration manager in Node.js",
"main": "lib/configurazione.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git@github.com:michielvandergeest/node-configurazione.git"
},
"keywords": [
"configuration",
"manager",
"options",
"config"
],
"author": "Michiel van der Geest",
"license": "MIT",
"bugs": {
"url": "https://github.com/michielvandergeest/node-configurazione/issues"
},
"homepage": "https://github.com/michielvandergeest/node-configurazione"
}