diff --git a/README.md b/README.md
index 3527d54..3696a28 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,28 @@
-# asyncmachine-go
+
+
+
+
![TUI Debugger](assets/am-dbg.gif)
@@ -12,7 +36,7 @@ firewalls, telemetry, bots, etc.
> **asyncmachine-go** is a general purpose state machine for managing complex asynchronous workflows in a safe and
> structured way
-## Comparison
+### Comparison
Common differences from other state machines:
@@ -22,6 +46,14 @@ Common differences from other state machines:
- every transition can be rejected
- error is a state
+### Buzzwords
+
+> **AM technically is:** event emitter, queue, dependency graph, AOP, logical clocks, ~2.5k LoC, no deps
+
+> **AM gives you:** states, events, thread-safety, logging, metrics, traces, debugger, history, flow constraints, scheduler
+
+> **Flow constraints are:** state mutations, negotiation, relations, "when" methods, state contexts, external contexts
+
## Usage
### Basics
@@ -29,15 +61,12 @@ Common differences from other state machines:
```go
// ProcessingFile -> FileProcessed (1 async and 1 sync state)
package main
-import (
- "context"
- am "github.com/pancsta/asyncmachine-go/pkg/machine"
-)
+
+import am "github.com/pancsta/asyncmachine-go/pkg/machine"
func main() {
// init the machine
- ctx := context.Background()
- mach := am.New(ctx, am.Struct{
+ mach := am.New(nil, am.Struct{
"ProcessingFile": {
Add: am.S{"InProgress"},
Remove: am.S{"FileProcessed"},
@@ -129,14 +158,6 @@ func (h *Handlers) ProcessingFileState(e *am.Event) {
See [docs/cookbook.md](docs/cookbook.md) for more snippets.
-## Buzzwords
-
-> **AM technically is:** event emitter, queue, dependency graph, AOP, logical clocks, ~2.5k LoC, no deps
-
-> **AM gives you:** states, events, thread-safety, logging, metrics, traces, debugger, history, flow constraints, scheduler
-
-> **Flow constraints are:** state mutations, negotiation, relations, "when" methods, state contexts, external contexts
-
## Examples
### [FSM - Finite State Machine](/examples/fsm/fsm_test.go)
diff --git a/assets/logo.png b/assets/logo.png
new file mode 100644
index 0000000..e21bc04
Binary files /dev/null and b/assets/logo.png differ
diff --git a/config/.mdl_style.rb b/config/.mdl_style.rb
index ca076f4..f04cc9c 100644
--- a/config/.mdl_style.rb
+++ b/config/.mdl_style.rb
@@ -8,5 +8,9 @@
exclude_rule 'MD033'
# block quotes
exclude_rule 'MD028'
+# first line H1
+exclude_rule 'MD002'
+# first line H1
+exclude_rule 'MD041'
# ???
exclude_rule 'MD007'