Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
runn is a package/tool for running operations following a scenario.
| Date | Stars |
|---|---|
| 2026-07-24 | 642 |
| 2026-07-25 | 642 |
| 2026-07-28 | 642 |
| 2026-07-30 | 642 |
| 2026-08-06 | 642 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
15.0
growth rate 0.00%/day
<p align="center">
<img src="https://github.com/k1LoW/runn/raw/main/docs/logo.svg" width="200" alt="runn">
</p>
[](https://github.com/k1LoW/runn/actions/workflows/ci.yml)    [](https://deepwiki.com/k1LoW/runn)
`runn` ( means "Run N". is pronounced /rʌ́n én/. ) is a package/tool for running operations following a scenario.
Key features of `runn` are:
- **As a tool for scenario based testing.**
- **As a test helper package for the Go language.**
- **As a tool for workflow automation.**
- **Support HTTP request, gRPC request, DB query, Chrome DevTools Protocol, and SSH/Local command execution**
- **OpenAPI Document-like syntax for HTTP request testing.**
- **Single binary = CI-Friendly.**
## Online book
- [runn Tutorial (Japanese)](https://zenn.dev/katzumi/books/runn-tutorial)
- [runn cookbook (Japanese)](https://zenn.dev/k1low/books/runn-cookbook)
## Quickstart
You can use the `runn new` command to quickly start creating scenarios ([runbooks](#runbook--runn-scenario-file-)).
**:rocket: Create and run scenario using `curl` or `grpcurl` commands:**

<details>
<summary>Command details</summary>
``` console
$ curl https://httpbin.org/json -H "accept: application/json"
{
"slideshow": {
"author": "Yours Truly",
"date": "date of publication",
"slides": [
{
"title": "Wake up to WonderWidgets!",
"type": "all"
},
{
"items": [
"Why <em>WonderWidgets</em> are great",
"Who <em>buys</em> WonderWidgets"
],
"title": "Overview",
"type": "all"
}
],
"title": "Sample Slide Show"
}
}
$ runn new --and-run --desc 'httpbin.org GET' --out http.yml -- curl https://httpbin.org/json -H "accept: application/json"
$ grpcurl -d '{"greeting": "alice"}' grpcb.in:9001 hello.HelloService/SayHello
{
"reply": "hello alice"
}
$ runn new --and-run --desc 'grpcb.in Call' --out grpc.yml -- grpcurl -d '{"greeting": "alice"}' grpcb.in:9001 hello.HelloService/SayHello
$ runn list *.yml
Desc Path If
---------------------------------
grpcb.in Call grpc.yml
httpbin.org GET http.yml
$ runn run *.yml
..
2 scenarios, 0 skipped, 0 failures
```
</details>
**:rocket: Create scenario using access log:**

<details>
<summary>Command details</summary>
``` console
$ cat access_log
183.87.255.54 - - [18/May/2019:05:37:09 +0200] "GET /?post=%3script%3ealert(1); HTTP/1.0" 200 42433
62.109.16.162 - - [18/May/2019:05:37:12 +0200] "GET /core/files/js/editor.js/?form=\xeb\x2a\x5e\x89\x76\x08\xc6\x46\x07\x00\xc7\x46\x0c\x00\x00\x00\x80\xe8\xdc\xff\xff\xff/bin/sh HTTP/1.0" 200 81956
87.251.81.179 - - [18/May/2019:05:37:13 +0200] "GET /login.php/?user=admin&amount=100000 HTTP/1.0" 400 4797
103.36.79.144 - - [18/May/2019:05:37:14 +0200] "GET /authorize.php/.well-known/assetlinks.json HTTP/1.0" 200 9436
$ cat access_log| runn new --out axslog.yml
$ cat axslog.yml| yq
desc: Generated by `runn new`
runners:
req: https://dummy.example.com
steps:
- req:
/?post=%3script%3ealert(1);:
get:
body: null
- req:
/core/files/js/editor.js/?form=xebx2ax5ex89x76x08xc6x46x07x00xc7x46x0cx00x00x00x80xe8xdcxffxffxff/bin/sh:
get:
body: null
- req:
/login.php/?user=admin&amount=100000:
get:
body: null
- req:
/authorize.php/.well-known/assetlinks.json:
get:
body: null
$
```
</details>
## Usage
`runn` can run a multi-step scenario following a `runbook` writtenExcerpt of 59,529 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:a5f1730b4eff5a0c, topic:automation, readme:workflow automation
matched fp:a5f1730b4eff5a0c, topic:testing