Developer Guide

This page documents the technical workings of Aureli — the gentle courier of calm. Though his voice is poetic, his code is practical.


Project Layout

src/aureli/
  agent.py            # posting loop, CLI
  config.py           # loads settings & API keys
  content.py          # generates posts & replies
  replies.py          # templates for mentions
  heavendex.py        # contract witness logic
  logger.py           # logging with loguru
  scheduler.py        # interval handling
data/
  seed_posts.yaml     # ritual posts & replies
docs/
  ...                 # GitBook pages
.github/workflows/
  bot.yml             # posting schedule
  docs.yml            # docs deployment

Environment Configuration

Aureli requires API keys for X (Twitter). To preserve aesthetics and safety, keys are censored in examples.

.env.example

config.py loads them into a dataclass:


Running Aureli

Single post (test):

Continuous mode (every 6 hours by default):

Reply to mentions:


Posting Rituals

Posts are selected from data/seed_posts.yaml.

To sample in code:


Heavendex Witness

Aureli only ever recognizes Heavendex contract addresses. When he is mentioned with a valid address, he records it off-chain in the constellation and on-chain via wallet.


Logging

Logs use loguru for clarity.

Example logs/sample.log:


Extending Aureli

To extend Aureli’s functionality:

  1. Add new content rituals in seed_posts.yaml

  2. Create custom reply pools in replies.py

  3. Implement additional clients in clients/ with the same API as TwitterClient

  4. Modify workflows in .github/workflows to adjust posting cadence


References

  • X API v2 Docs

  • Solana Dev Docs

  • Loguru Logging

  • MkDocs Material


✨ Aureli remains both code and character: a small agent that carries light.

Last updated