The Agora is built around a simple set of text conventions layered on top of plain Markdown. At the most basic level you can use any notes tool that writesDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/flancian/garden/llms.txt
Use this file to discover all available pages before exploring further.
.md files and the Agora will parse and render them. The conventions described here are optional extensions that unlock the Agora’s collaborative features: linking across gardens, pulling content from other nodes, and redirecting to external resources.
Wikilinks
A wikilink is a double-bracket link to a node in the Agora. Any text inside[[ ]] is treated as a node reference.
[[climate change]], the Agora resolves that link to the node at https://anagora.org/climate-change. That node aggregates notes from every contributor who has also linked to or written about [[climate change]] — including you.
Node names are case-insensitive and normalised: spaces are converted to hyphens, and capitalisation is ignored. [[Climate Change]], [[climate change]], and [[climate-change]] all resolve to the same node.
Wikilinks in your garden work across all contributors. If ten people have a note mentioning
[[open source]], all ten notes appear together at https://anagora.org/open-source. You are effectively co-authoring a shared node just by linking to it.Hashtags
The Agora has basic hashtag support. A#hashtag works similarly to a wikilink — it resolves to a node.
# prefix for Agora-specific actions, which is the main practical distinction.
Agora actions
Beyond simple links, the Agora protocol defines a set of action keywords that you prefix with#. These let you pull content from other nodes into yours, push content from your note into another node, or redirect a node to a URL.
#pull — include another node’s content
#pull [[node]] causes the Agora to include the contents of the referenced node inside your current node, as if you had written those notes yourself.
[[IPCC reports]] node below your text. Pulls are rendered inline at the location where you place the directive.
#push — contribute content to another node
#push [[node]] sends the content that follows to the target node, making it appear there as a contribution from your garden.
#push [[node]] are treated as your contribution to that node. Anyone who visits https://anagora.org/reading-list will see your items alongside contributions from all other users who have pushed to that node.
#push does not modify anyone else’s files. It is a rendering instruction: the Agora displays your pushed content at the target node but your original file remains unchanged on your own Git host.#go — redirect a node to a URL
#go <url> turns a node into a go-link redirect. When someone visits the node, the Agora forwards them to the specified URL.
agora-repo.md, visiting https://anagora.org/agora-repo will redirect to the GitHub URL. The Agora maintainers use #go links extensively as a lightweight bookmarking and URL shortening system.
How nodes resolve across contributors
What happens when two people link to the same node?
What happens when two people link to the same node?
When two or more contributors write notes that reference or describe the same node, the Agora aggregates their contributions into a single node page.For example, if Alice has a file
climate-change.md and Bob has a file that contains #push [[climate change]], both their content will appear at https://anagora.org/climate-change. Neither Alice nor Bob modifies the other’s files — the Agora assembles the combined view at render time from both their gardens.This is the core mechanism of the Agora’s collaborative knowledge graph. A node is not owned by any single contributor; it is the aggregate of everyone who has written about it. The Agora displays each contributor’s subnode with attribution, so you can always see who wrote what.What is a subnode?
What is a subnode?
A subnode is one contributor’s specific note within a node. The node
[[climate change]] may have dozens of subnodes — one per contributor who has a file by that name or who has pushed content to it. Subnodes are displayed together on the node page, clearly attributed to their author.How are wikilink targets normalised?
How are wikilink targets normalised?
The Agora normalises node names before resolving links: it lowercases everything, converts spaces and underscores to hyphens, and strips most punctuation. This means
[[Open Source]], [[open source]], and [[open_source]] all resolve to the same node at /open-source.Can I link to a specific user's subnode?
Can I link to a specific user's subnode?
Currently the Agora resolves wikilinks to the aggregate node, not to a specific contributor’s subnode. You can navigate directly to a contributor’s subnode via the node page, but there is no single-bracket syntax to link directly to one person’s version of a node.
Protocol layers summary
The Agora protocol is defined in layers, making it easy to adopt incrementally:| Layer | What it covers | Required? |
|---|---|---|
| Layer 0 | Plain text, indented bullet lists as heterarchy | Optional |
| Layer 1 | [[wikilinks]], #hashtags, action keywords (#push, #pull, #go) | Optional |
| Layer 2+ | Extensions defined through Agora RFCs and community governance | Optional |
The full Agora protocol is maintained as a living document. To propose extensions or changes, contribute to the Agora RFCs node or visit the community chat.