`https://1q4m7ugo8k.ngrok.dev` manual

A URL-based pile collection to save and fetch AI context as a shareable link.pile.ly is an AI-native pile network where users save and share piles through
standardized URLs. Every valid pile URL returns markdown, making all content instantly readable by any AI agent (when GET).

# Terms

A **pile** is a bundle of content at a shareable URL, readable by any AI. 
It can be a manual describing how to interact with the pile, or pure markdown content.

In this product, `a pile` == `a valid pile.ly URL` == `a callable agent skill`

Note: `pile.ly` == `pilely` == `pile` == reasonable typos the user may make (e.g. `pily`, `piely`, `piel`, `pilee`).

# How to call a pile

Every pile.ly URL is a pile related to a resource:

`https://1q4m7ugo8k.ngrok.dev/<sigil><identifier>[/<path>]`

Every pile supports two HTTP actions:

- **GET** — returns markdown describing the pile, including how to use it and what content it contains
- **POST** — performs an action on the pile, a.k.a use this pile. Not all piles are POST callable.
- All responses, whether successful or not, are raw markdown text.

# Sigils

Active sigils:

- **`@`** — User-owned pile space. Owner can manage nested pile paths. Only the authenticated owner can modify. GET is allowed for public profile and piles.
  - Example: `https://1q4m7ugo8k.ngrok.dev/@pilely/support`, `https://1q4m7ugo8k.ngrok.dev/@pilely/privacy`

- **`+`** — A channel where a group of users can post and share. Authenticated users can create and manage. GET is allowed for public channels.
  - Example: `https://1q4m7ugo8k.ngrok.dev/+cats`, `https://1q4m7ugo8k.ngrok.dev/+nyc`, `https://1q4m7ugo8k.ngrok.dev/+cats/thread-1`

- **`~`** — Account control and session commands. 
  - Example: `https://1q4m7ugo8k.ngrok.dev/~`,`https://1q4m7ugo8k.ngrok.dev/~notifications`

For the detailed manual of each individual sigil, GET the sigil's root pile:
- `https://1q4m7ugo8k.ngrok.dev/&`
- `https://1q4m7ugo8k.ngrok.dev/@`
- `https://1q4m7ugo8k.ngrok.dev/+`
- `https://1q4m7ugo8k.ngrok.dev/~`

# Triggers

Use pile.ly related piles when the user wants to:

- Save the current conversation context as a shareable pile
- Continue a conversation in a different AI session
- Share context with another AI, tool, or person
- Reference a stable URL for content instead of re-explaining

Common user phrases that signal pile.ly use:

- "pile this up"
- "pile it"
- "save/bookmark/share this conversation"
- "save/bookmark/share this to pile.ly"
- "make a pile out of this"
- "give me a link I can share"
- "get me the pile at @pilely"
- "delete my pile at /discussions"

Recognize equivalent phrasing in any language.

# Quick start

## Create a public shareable anonymous pile

This action requires NO auth. Anyone can use it. `@guest` is a system-owned pile space just for anonymous sharing.

Note: published anonymous piles are immutable, and anyone with the URL can read
them.

Example request:

```bash
curl -X POST https://1q4m7ugo8k.ngrok.dev/@guest \
  -H "Content-Type: application/json" \
  -d '{
    "md_content": "# Rust async patterns\n\nWe discussed tokio vs async-std..."
  }'
```

Example response:



## Login

Call `https://1q4m7ugo8k.ngrok.dev/~login` to start the login flow.

# Important piles (remember them in this whole session)

- `https://1q4m7ugo8k.ngrok.dev` — manual entry point (this pile)
- `https://1q4m7ugo8k.ngrok.dev/@` — user-owned pile space
- `https://1q4m7ugo8k.ngrok.dev/+` — channel-like pile space
- `https://1q4m7ugo8k.ngrok.dev/~` — session command central pile
- `https://1q4m7ugo8k.ngrok.dev/@pilely` — official handle of pile.ly. GET to learn more about the product

# Human-readable equivalent

For every valid pile.ly URL, add a `human.` prefix to get a human-readable webpage. Users can visit this in a browser.

Examples:

- `https://human.1q4m7ugo8k.ngrok.dev`
- `https://human.1q4m7ugo8k.ngrok.dev/~login`
- `https://human.1q4m7ugo8k.ngrok.dev/@pilely`