Needlessly Provoking Marsupials


    4.0.0 • Public • Published


    CircleCI devDependencies Status dependencies Status npm version Code style


    A modular, configuration-first front-end framework. No strings.

    What does Undernet include?

    • Style defaults for common page elements: buttons, form inputs, typography, and the like.
    • Flex grid for advanced layout options.
    • Interactive components powered by JavaScript.
    • Highly brandable and extendable.

    Install via npm or yarn

    $ npm install -S undernet
    $ yarn add -D undernet


    See branding documentation to setup a custom pipeline with Undernet's SCSS.

    Components / JS

    See JS documentation to learn how to setup and use Undernet's API for interactive components.

    Currently available list of components:

    Each require a specific HTML structure to allow for proper accessibility and interactivity for the user. Examples included in the links above.


    See for more details on git flow and recommendations for pull requests/issues.

    Fork and clone for development / contributing

    First fork the project on Github. Then set up locally.

    $ git clone
    $ cd undernet/
    $ npm install

    The site is both a demo and marketing tool. It is built with my own webpack setup called Pulsar. It's basically just Webpack + React, so don't panic. :)

    Run the dev server

    $ npm run watch

    Make a production build

    $ npm run build

    Run Mocha tests

    $ npm run site:test

    Load tests on file save (also for the site)

    $ npm run site:test:watch

    Building the framework

    The site itself is a demo of the framework, so you should be able to work on the framework source itself while the site runs in the background.

    The build environment works only for macOS at the moment.

    If you've already run npm install, these commands should Just Work™.

    $ npm run build:dist

    The script processes the SCSS and JS, then compiles the output to a dist/ folder.

    Rebuild assets on the fly

    To continually reload fresh JS assets while running the site's dev server, run the below command in a separate terminal session.

    $ npm run js:watch

    New releases

    To run a release build, run the following command, where VERSION is the semver value incremented from package.json:

    $ npm run update-version -- --tag=VERSION && npm run build:dist:release

    These will do three things:

    1. Increment the project version across docs, package.json, and in scss/undernet.scss
    2. Build all assets to dist/ with the new version.
    3. Generate new sha-256 hashes for CDN subresource integrity (added to docs/

    The result is a repo state ready to publish to npm!


    npm i undernet@4.0.0






    Unpacked Size

    745 kB

    Total Files


    Last publish


    • geotrev