Back to Keybase

README

shared/README.md

6.6.22.8 KB
Original Source

Attention, please.

This code is a work in progress, and we publish it for full transparency. You can review the source code, but:

  • you shouldn't just run this code without reading it, as it may have bugs or stubbed out crypto
  • it might not do exactly what it says it is doing

If you really want to install Keybase, please return to the top level Readme.md for official release instructions.


Keybase

Install

Run within the shared/ directory to setup our dependencies:

sh
yarn modules

Desktop

The following yarn run commands, to build, run or package the app:

CommandDescription
startBuild a development bundle and start app
hot-serverStart the hot-reloading server (with start-hot)
start-hotConnect to a hot-reloading server (with hot-server)
build-devBuild development bundle
build-prodBuild prod bundle
packagePackage app

You can set environment variables for debugging:

EnvDescription
KEYBASE_RUN_MODERun mode: prod, staging, devel
KEYBASE_DEVEL_USE_XDGForce Keybase to use XDG paths, can fix service socket location issues on Linux

You can also edit ~/Library/Logs/Keybase.app.debug on macOS, $HOME/.cache/keybase/keybase.app.debug on Linux, or %localappdata%\Keybase\keybase.app.debug on Windows (see platform.desktop.js) to add debug flags. In particular, you probably want

json
{
  "showDevTools": true
}

Debugging with React Developer Tools

  1. Install react-dev-tools using npm or yarn globally
  2. Run it while running a dev build

Other docs

see Docs

Misc

Updating the list of countries with SMS support

In order to update the list of countries supported by Amazon SNS, run the update-data.sh script. It will first fetch the JSON from Amazon's public S3 bucket and transform it for use in our internal country filtering code.

ESLint in VSCode

VSCode's ESLint extension needs to know where to look for .eslintrc. Add this to REPO/.vscode/settings.json.

{ "eslint.workingDirectories": ["shared"] }

Watchman

You'll need to have watchman installed if you're running out of file descriptors:

brew install watchman