The cli for swan
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Swan CLI

The command line interface for SWAN.

Unmaintained! This setup requires an overhaul, which won't happen any time soon.

SWAN as a stack runs Sails, Waterline, Aurelia and Node.

Note: This module is work in progress. It already provides some useful methods, but isn't done yet. Contributions are more than welcome.


The SWAN stack makes developing applications a lot easier and faster. It follows the following principles:

  • Separate repositories: The project, the API and the client live in separate repositories.
  • API-driven development: Separation of client (static files) and server (API).
  • Single entity definition: Entities (and thus API endpoints) are the same on both the server and the client, including validation.


  1. Install swan and the other dependencies: npm i -g sails jspm gulp swan-cli
  2. Create a personal access token on github and set permissions for repo.
  3. Type swan configure and follow the steps.
  4. Enjoy!


Usage is described in the swan --help output.

New project

To create a new project.

swan new projectname

Configuring project

Configure default settings such as personal access token and protocols (ssh/https). Switching protocols in a swan project will update all the remotes.

swan configure

Collaborate on existing project

To start working on, or check out a project.

swan setup owner/repository

For instance swan setup spoonx/aurelia-todo.

Start your project

Start your project. This starts both the server, and the client in one convenient command.

swan start --v


Swan can be configured by changing the contents of the swan.json file.

Coming soon(ish)

  • Getting started
  • Swan install (to quickly set up your project after cloning).
  • Support for mobile.


This project is a little bit messy. It's relatively easy to get into, but it could be structured much better. This is the first version, meant as a PoC to figure out what works best for SWAN. This means it will be refactored at some point, but the usage will most likely stay the same.