Skip to content
This repository has been archived by the owner. It is now read-only.
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



Build Status lerna

OpenGTD is free open source software for getting things done!

Setup for development

This is a monorepo managed with Lerna. Sub-modules are located in packages/. The lerna bootstrap command installs dependencies of all sub-modules and creates symlinks for dependencies between sub-modules.

npm install
npx lerna bootstrap
The following commands can either be run at the project root to affect all sub-modules or individually inside of each sub-module. Note that there are inter-module dependencies. If you want to build/start the client or server individually, you first have to build all shared modules.

Run the application

npm start

Server listens at http://localhost:3001

Client is accessible at http://localhost:3000

This will also watch for changes in the sources of the module(s) and automatically re-compile.


The server can be configured by creating the file packages/server/config.local.json. Default configuration:

  "env": "development",
  "db": {
    "embedded": true,
    "host": "localhost",
    "port": 27017,
    "name": "open-gtd"
  "port": 3001

Only values that should be overriden need to be specified. If env=development and db.embedded=true (the default), MongoDB binaries are automatically downloaded and a server is set up at a free port. To use a regular MongoDB server, at least the following configuration is needed.

  "db": {
    "embedded": false

Verify changes before commiting

Run build:

npm run build

Run tests:

npm test

Run linters:

npm run lint

Try to automatically fix linting issues:

npm run fix

Run build, tests and linters:

Always run this before submitting a pull-request. If this command does’t complete successfully, a pull-request cannot be merged.
npm run verify
You can’t perform that action at this time.