# Introduction

GO-DAG is a framework developed using the Go language. It is utilized to structure a sequence of subtasks into a directed acyclic graph based on their dependencies' order and oversee the execution process.

This project strictly adheres to zero external dependencies, relying solely on internal code packages (excluding testing requirements).

Currently, the released versions include:

* [workflow/simple](https://github.com/rhosocial/go-dag/blob/main/workflow/simple) ([docs](https://docs.go-dag.dev.rho.social/basic-usage/use-simple.dag), [imports](https://pkg.go.dev/github.com/rhosocial/go-dag/workflow/simple?tab=imports))

## A Simple Example

Here is the execution graph:

<figure><img src="https://1486875518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Foyezdgt4RCgef0Y2fFzx%2Fuploads%2F3ifA40P3QhSJcFG37jhn%2Fimage.png?alt=media&#x26;token=2d842ba9-b733-4104-bdd9-6ede317376f7" alt=""><figcaption><p>a simple example</p></figcaption></figure>

After the completion of the **t:input** task, which dispatches its output to both **c:transit1** and **c:transit2** channels, the tasks **t:t11** and **t:t12** will commence simultaneously. They will then transmit their respective output results to the **t:transit1** and **t:transit2** channels. Subsequently, the **t:output** task will resume its execution solely upon receiving data from both **c:t21** and **c:t22** channels.

***

## Link

* GitHub: <https://github.com/rhosocial/go-dag>
* Go Package: <https://pkg.go.dev/github.com/rhosocial/go-dag>

***

To access specific usage instructions, please click on the table of contents located on the left side of the page.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.go-dag.dev.rho.social/introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
