sourcebot/CONTRIBUTING.md
Gabriel Dugny 9b13492cb3
chore: Misc typos (UI, docs, code...), Makefile PATH with spaces (#369)
* chore: Fix misc typos (UI, docs, code...)

* chore(dev): Support PATH with spaces in Makefile

E.g. `Application Support` on MacOS

* chore: Typos in schema v2 description

* chore: more typos

* chore(dev): Add _typos.toml
2025-07-16 11:59:01 -07:00

1.9 KiB

Build from source

Note

Building from source is only required if you'd like to contribute. The recommended way to use Sourcebot is to use the pre-built docker image.

  1. Install go, docker, and NodeJS. Note that a NodeJS version of at least 21.1.0 is required.

  2. Install ctags (required by zoekt)

    // macOS:
    brew install universal-ctags
    
    // Linux:
    snap install universal-ctags
    
  3. Install yarn:

    npm install --global yarn
    
  4. Clone the repository with submodules:

    git clone --recurse-submodules https://github.com/sourcebot-dev/sourcebot.git
    
  5. Run make to build zoekt and install dependencies:

    cd sourcebot
    make
    

    The zoekt binaries and web dependencies are placed into bin and node_modules respectively.

  6. Start the development Docker containers for PostgreSQL and Redis.

    docker compose -f docker-compose-dev.yml up -d
    
  7. Create a copy of .env.development and name it .env.development.local. Update the required environment variables.

  8. If you're using a declarative configuration file, create a configuration file and update the CONFIG_PATH environment variable in your .env.development.local file.

  9. Start Sourcebot with the command:

    yarn dev
    

    A .sourcebot directory will be created and zoekt will begin to index the repositories found in the config.json file.

  10. Start searching at http://localhost:3000.