Contrib
We welcome contributions of any size and skill level. If you have an idea for a new feature or have found a bug, please open an issue on the GitHub repository.
- Go version 1.19 or later.
- Latest version of Node.js.
- yarn package manager.
-
Clone the repository to your local machine.
-
Navigate to the root directory of the cloned repository and build the frontend project by running the following command:
make build-admin
-
Run the following command to start the [Dagu]{.title-ref} application:
go run main.go
-
Now you can change the source code and build the binary by running the following command:
make build
-
Run the following command to start the [Dagu]{.title-ref} application:
./bin/dagu
Run the following command to run the tests:
make test
admin
: Frontend code for the Web UI.cmd
: Contains the main application entry point.docs
: Contains the documentation for the project.examples
: Contains the example workflows.internal
: Contains the internal code for the project.admin
: Contains the backend code for the Web UI.agent
: Contains the code for runnning the workflows.config
: Contains the code for loading the configuration.controller
: Contains the code for managing the workflows.dag
: Contains the code for parsing the workflow definition.database
: Contains the code for interacting with the database.executor
: Contains the code for different types of executors.runner
: Contains the code for scheduler.sock
: Contains the code for interacting with the socket.
-
Clone the repository to your local machine.
-
Navigate to the root directory of the cloned repository and build the frontend project by running the following command:
make build-admin
-
Run the following command to start the [Dagu]{.title-ref} application:
go run main.go server
-
Navigate to
admin
directory and run the following command to install the dependencies:yarn install yarn start
-
Open the browser and navigate to http://localhost:8081.
-
Make changes to the source code and refresh the browser to see the changes.
main
: The main branch where the source code always reflects a production-ready state.