Files
komodo/docsite/docs/development.md
Matt Foxx d66a781a13 docs: Add development docs (#136)
* docs: Add development POC

* docs: Flesh out full build/run steps

* feat: Add mergeable compose file to expose port and internal periphery url

* feat: Add .devcontainer and VSCode Tasks for developing Komodo

* Make cargo cache persistent in devcontainer

* Add deno to devcontainer

* Update tasks to include TS client copy to frontend before run

* Recommend extensions for used dependencies in vscode workspace

All extensions recommended are included in the devcontainer. This makes it easier for users not using devcontainer to get lang support.

* Update local `run` sequence for development docs
2024-10-22 12:09:26 -07:00

2.8 KiB

Development

Dependencies

Running Komodo from source requires either Docker, use of the included devcontainer or these dependencies installed:

Docker

After making changes to the project simply run run test-compose-build to rebuild Komodo and then run test-compose-exposed to start a Komodo container with the UI accessible at localhost:9120. Any changes made to source files will require re-running the build and exposed commands.

Devcontainer

Use the included .devcontainer.json with VSCode or other compatible IDE to stand-up a full environment, including database, with one click.

VSCode Tasks are provded for building and running Komodo.

After opening the repository with the devcontainer run the task Init to build the frontend/backend. Then, the task Run Komodo can be used to run frontend/backend. Other tasks for rebuilding/running only parts of the application are also provided.

Local

runnables-cli can be used as a convience for running common project tasks (like a Makefile) found in runfile.toml. Otherwise, you can create your own project tasks by references the cmds found in runfile.toml. All instructions below will use runnables-cli.

To run a full Komodo instance from a non-container environment run commands in this order:

  • Ensure dependencies are up to date
    • rustup update -- ensure rust toolchain is up to date
  • Build and Run backend
    • run test-core -- builds core binary
    • run test-periphery -- builds periphery binary
  • Build Frontend
    • run gen-client -- generates TS client and adds to the frontend
    • Prepare API Client
      • cd client/core/ts && yarn && yarn build && yarn link
        • After running once client can be rebuilt with run build-ts-client
    • Prepare Frontend
      • cd frontend && yarn link komodo_client && yarn install
        • After running once client can be built with run build-frontend or started in dev (watch) mode with run start-frontend

Docs

Use run docsite-start to start the Docusaurus Komodo docs site in development mode. Changes made to files in /docsite will be automatically reloaded by the server.