Contributing Guide#

First off, thank you for thinking about contributing! Here are the instructions that will guide you through contributing, fixing, and improving Flytectl.

📝 Contribute to Documentation#

Docs are generated using Sphinx and are available at [](

To update the documentation, follow these steps:

  1. Install the requirements by running pip install -r doc-requirements.txt in the root folder.

  2. Make modifications in the cmd folder.

  3. Run make gendocs from within the docs folder.

  4. Open html files produced by Sphinx in your browser to verify if the changes look as expected (html files can be found in the docs/build/html folder).

💻 Contribute Code#

  1. Run make compile in the root directory to compile the code.

  2. Set up a local cluster by running ./bin/flytectl sandbox start in the root directory.

  3. Run flytectl get project to see if things are working.

  4. Run the command you want to test in the terminal.

  5. If you want to update the command (add additional options, change existing options, etc.):

    • Navigate to cmd directory

    • Each sub-directory points to a command, e.g., create points to flytectl create ...

    • Here are the directories you can navigate to:

      Flytectl cmd directories#





      flytectl config ...

      Common package for all commands; has root flags


      flytectl configuration ...

      Validates/generates Flytectl config


      flytectl create ...

      Creates a project/execution


      flytectl delete ...

      Aborts an execution and deletes the resource attributes


      flytectl get ...

      Gets a task/workflow/launchplan/execution/project/resource attribute


      flytectl register ...

      Registers a task/workflow/launchplan


      flytectl sandbox ...

      Interacts with sandbox


      flytectl update ...

      Updates a project/launchplan/resource attribute


      flytectl upgrade ...

      Upgrades/rollbacks Flytectl version


      flytectl version ...

      Fetches Flytectl version

      Find all the Flytectl commands here.

    • Run appropriate tests to view the changes by running go test ./... -race -coverprofile=coverage.txt -covermode=atomic  -v in the root directory.