1. Introduction
  2. Set it up
  3. Install
  4. Your first program
  5. The three lifecycles
  6. Talking to Tangle
  7. Build something real
  8. Working in the graph
  9. Connecting an account
  10. A public address
  11. Putting a person in the loop
  12. The language
  13. How a program runs
  14. Syntax
  15. Types
  16. Groups
  17. Loops
  18. Streams and buses
  19. Triggers and routes
  20. Files and reuse
  21. What the compiler refuses
  22. Writing nodes
  23. What a node is
  24. Your first node
  25. metadata.json
  26. The ctx
  27. Reading inputs, emitting outputs
  28. Custom types
  29. Showing something in the graph
  30. Storage
  31. Surviving a restart
  32. Writing a trigger
  33. Talking to a live caller
  34. Streams and buses in Rust
  35. Cancelling and steering runs
  36. Infrastructure nodes
  37. Testing a node
  38. Packaging
  39. Connections
  40. How connections work
  41. The apps file
  42. Using a connection in a node
  43. Declaring a service
  44. Events from a service
  45. Measuring what a call costs
  46. Running programs
  47. The CLI
  48. Starting and stopping things
  49. The journal
  50. Versions, seeds and frozen examples
  51. Files at run time
  52. The browser extension
  53. Programs with instances
  54. Deploying to your cloud
  55. How the runtime is built
  56. Why it is shaped this way
  57. Things people say to me
  58. Sequential Diffusion Programming
  59. The commandments of plumbing
  60. Design principles
  61. The three fronts
  62. How I think about AI safety
  63. Appendix
  64. Glossary
  65. Where this is going