$ npm install -g flamebird
To start Flamebird you can use fb [command] [options]
(or longer alias flamebird [command] [options]
).
Application provides two commands: fb start
and fb web
(read below).
Need help? Use command:
$ fb --help
# or simply
$ fb
$ fb start [options]
Run tasks from Procfile
or package.json
Options:
-p, --package
- using package.json for the managing tasks. (:warning: with this option the commandstart
run all tasks frompackage.json
, for resolving it , please use option-t
)-t, --tasks [tasks]
- list of tasks which needs to async run infb start
( example :fb start --tasks start,start:dev,start-server
and then tasks arestart
,start:dev
,start-server
will have been runned asynchronously )
$ fb web [options]
Launch web-application which is task-manager. That command has more abilities than start
. Web-application is reading Procfile
and package.json
and adding ability to launch scripts inside this files together
Options:
-t, --tasks [tasks]
- list of tasks which will be managing in thefb web
command ( example :fb web --tasks start,start:dev,start-server
and this tasks will be showing in the web-applicationstart
,start:dev
,start-server
)-p, --port <PORT>
- sets the server port, by default5050
-n, --name <NAME>
- sets the project name. Display name of the project in title and header. By default using name of project insidepackage.json
otherwiseflamebird
hotkeys works only if is triggered.
If you want to help this project you need to read this part of readme.md for more detail understanding of for what some things are needed.
First of all take a look at project structure:
- flamebird project
- flamebird.js - Executable by nodejs file when call
fb start
/fb web
. Describe information about commandsweb
andstart
. - LICENSE
- nodemon.json - Nodemon config file. Only needed for debug flamebird.
- node_modules - you know what is that :D
- package-lock.json
- package.json
- postinstall.js - Script which execute after installing flamebird dependencies
- Procfile - List of scripts which execute via nodemon. Only needed for debug flamebird.
- README.md
- webpack.config.js
- babel.config.js
- CHANGELOG.md
- assets
- client Client application β‘οΈ
- controllers - folder with controllers where each one have specific UI manipulations
- assets - folder with assets
- logo.psd - source of the flamebird logo
- logo.png
- logo2_small.png
- logo2.png
- logo2_transparent.png
- helpers - folder with helpers where helper contains specific logic. In future it will be removed or moved into modules in
scripts
folder. - global.js - global file which implement pattern Facade and combine all interactions of modules from
scripts
folder. - index.html
- medium-screens.css
- scripts - Bunch of modules which needed for web application.
- Api.js - Contains all API endpoints which needed for client. It uses
kinka
as http web client. - Configs.js - Responsible for update configs list
- HotKeys.js - Hot keys
- Tabs.js - Module which responsible for update tabs list.
- TaskList.js - Module which responsible for update tasks list.
- ThemeSwitcher.js - Module which responsible for theme switching.
- WebLogger.js - Logger module. Output logs into the logs container
- WebSocket.js - WebSocket client connection
- Api.js - Contains all API endpoints which needed for client. It uses
- small-screens.css
- styles
- styles.css
- dist - client build folder
- server Server application β‘οΈ
- config.js - module which working with configuration file (
.flamebirdrc
) - constants.js - module which contains constant values. It usings on both sides (client, server)
- processWorker.js - module which responsible for run/stop tasks
- server.js - [
Web version
] module which contains API endpoints. - utils - bunch of utilities π
- colors.js - tools which colorize console output
- commands.js - tools which needed for CRUD commands
- emitter.js - instance of
events.EventEmitter
. - envs.js - tools which needed for parse environment variables
- mem_cache.js - just simple object which save all information. Have methods
get
,set
- processes.js - tools which needed for create and kill processes
- ws.js - [
Web version
] Websocket connection - taskfile.js - module which parse all commands from
Procfile
andpackage.json
- config.js - module which working with configuration file (
- flamebird.js - Executable by nodejs file when call
Licensed under the MIT License.