Skip to content
depend to grow node modules on
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Terrain -- depend to grow node modules on


With terrain, one could use a git repo and npm to manage or develop a set of modules a little bit differently:

  • when there is no single module that, through its tree of dependencies, requires all the rest - a terrain can npm install a package.json / npm-shrinkwrap.json set of modules, as specified, predictably and in bulk
  • shrinkwrap dependencies of all modules outside their code base and with a single npm-shrinkwrap.json per terrain
  • automatically inter-link all the modules with npm
  • re-test all modules when any of them gets an update
  • npm tag interdependent modules upon successful tests
  • switch between sets of modules based on a given tag - for example latest / edge or stable that correspond to branch names in the given terrain index repo
  • override any terrain module with a git repo fork / clone, for development purposes, but still have ability to altogether ignore a custom setup and favor sets of published / tagged versions
  • bulk npm update, test, and shrinkwrap a set of modules and their dependencies without having to git push or npm publish any individual project / module
  • could offer dependency analysis and visualization - perhaps published as static gh-pages on the index terrain repo, with the usual GitHub assumption

In summary, the motivation is simple. Easily install or update an organization's code base and holistically switch between usage contexts - for example edge vs stable. Hack on any specific module and contribute without changing the overall setup.


For example, Terra is the repository that will be used by terrain to manage Astrolet / Astrolin projects with. Furtermore, astrolin will be a cli that does somewhat more than mere terrain use / development. Terrain (how) + Terra (what) & Astrolin (why) -- will become a demo, use case and proof of concept.


This is free and unencumbered public domain software. For more information, see the UNLICENSE or

Something went wrong with that request. Please try again.