Setup

Getting Started

1. Requirements

Before you begin, you need to make sure to have the following SDKs and tools:

2. Clone and npm install

git clone https://github.com/dendronhq/dendron.git
cd dendron
npm install


3. Build Repo

• you should run this when building dendron for the first time and also every time you run a git pull
• new dependencies might have been picked up between pulls and this makes sure that they are installed
npm run bootstrap:bootstrap
npm run-script bootstrap:build
npm run-script bootstrap:build:plugin-core:sync-vault

• we recommend you use vscode to develop for dendron. there is a dendron.code-workspace file in the root of the monorepo that you should use when developing

4. Start Debugging (the plugin)

• NOTE: you don't need to do this if you are not directly working on the extension (eg. you're working on the server)

To start an instance of the Dendron with the Debugger, Run Extension (plugin-core) from the debug panel in vscode

Note: Running via Run -> Start Debugging will not work unless you've previously targeted Extension (plugin-core)

Tips

To continuously compile all dependencies, run the following

./bootstrap/scripts/watch.sh


Troubleshooting

Something went wrong during the build

In case something something goes wrong with a build step or you want to save time by not running everything, init.sh is just a thin wrapper around the following scripts, each of which can be run individually

• ./bootstrap/scripts/bootstrap.sh: lerna bootstrap all packages
• ./bootstrap/scripts/build.sh: lerna build all packages
• initialize template repo (this bundles the latest dendron-template with the plugin so that the right notes are initialized when a user creates their first workspace)
 cd packages/plugin-core/
./scripts/sync_vault.sh


Changes not showing up in Dendron

1. Are you using the Run extension command on the debugger panel to test dendron?

2. If you have one vscode instance which you have dendron installed and are also doing dendron development on, you might get a version conflict. in that case, use Run extension with plugin disabled in the debugger panel (or use a different version of vscode to run dendron vs develop)