robonaut v2.2.1-alpha.0
robonaut
A mono-(poly)-repo manager for NPM+Git libraries.
Demo: Youtube
Disclaimer
Warning: Robot is packed full of religious convictions that other developers may strongly disagree with.
Robonaut was haked together in 3 days, and is undoubtedly very brittle. It was designed to work with one open-source project (markserv). It is a very early tool that will likely mature alongside the code it is supporting.
About
Robonaut is designed to manage a NodeJs project that contains many repos. I found that as my project was scaling in size and complexity, I would often make stupid, simple, human errors like:
- Forgetting to increment version numbers
- Increment version numbers incorrectly
- Forgetting to
git push
a package I had updated - Forgetting to
npm push
a package I had updated - Etc.
Usually this would result in a Travis build failing, followed by a frantic igging to find out why. (Hey... everything was working fine on my computer!) Clearly I needed to enlist the help of a trusty robot.
Robonaut (currently) works on a few basic principles:
- Modules imported must already exist as an NPM package and a GIT repo.
- Only one feature or patch is ever being worked on at a time. (this will change in the future)
- Version numbers increments are cross-linkedm (packages that are worked on simultaneously will be incremented together).
Usage
embed
robonaut embed
Embeds robonaut in your directory, by setting up a package.json
and a robotnaut_modules
directory.
prime
robonaut prime pkg1,pkg2,pk3
Adds an array of packages to package.json
in robonautDeps
.
assemble
robonaut assemble
- Gets dependencies json from NPM
- Git clones the dependency
- Npm installs the repo
fuse
robonaut fuse
Cross links all dependencies with npm link
.
Example:
Robonaut ๐ LINKED...
markserv-cli โ โโ
โโ โ markserv-contrib-app.github
markserv-contrib-app.github โ โโ
โฃโ โ markserv-contrib-inc.html
โฃโ โ markserv-contrib-inc.less
โฃโ โ markserv-contrib-inc.markdown
โฃโ โ markserv-contrib-mod.dir
โฃโ โ markserv-contrib-mod.file
โฃโ โ markserv-contrib-mod.html
โโ โ markserv-contrib-mod.http-404
scan
robonaut scan
Scans all modules for changed git diff
.
numerate
robonaut numerate
Increments all changed packages by the same pattern in the package.json
file.
Example:
Major Minor Patch
_______ _______ +
markserv-cli ๎ master (1.0.61) ยป 1.0.62
markserv-contrib-app.github ๎ master (1.0.75) ยป 1.0.76
markserv-contrib-inc.less ๎ master (1.0.5) ยป 1.0.6
markserv-contrib-mod.http-404 ๎ master (1.0.6) ยป 1.0.7
transmit
robonaut transmit "My Commit message!"
Pushes code to their respective GIT repos, then publishes to the NPM repository.
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago