···3031## Getting Started
3233-Before continuing, you must make sure you have created a project on Letta Cloud (or your instance) and have somewhere to run this on.
000000000000000003435-### Running the bot locally
0000003637-#### Install dependencies
3839-```shell
40pip install -r requirements.txt
41```
4243-#### Create `.env`
4445-Copy `.env.example` (`cp .env.example .env`) and fill out the fields.
4647-#### Create configuration
004849-Copy `config.example.yaml` and fill out your configuration. See [`CONFIG.md`](/CONFIG.md) to learn more.
5051-#### Register tools
0005253-```shell
54-py .\register_tools.py <AGENT_NAME> # your agent's name on letta
0000055```
5657-Contact:
0000000000000000000000000000000000000000058For inquiries, please contact @cameron.pfiffer.org on Bluesky.
5960Note: void is an experimental project and its capabilities are under continuous development.
···3031## Getting Started
3233+Before continuing, you must:
34+35+1. Create a project on [Letta Cloud](https://cloud.letta.com) (or your own Letta instance)
36+2. Have a Bluesky account
37+3. Have Python 3.8+ installed
38+39+### Prerequisites
40+41+#### 1. Letta Setup
42+43+- Sign up for [Letta Cloud](https://cloud.letta.com)
44+- Create a new project
45+- Note your Project ID and create an API key
46+47+#### 2. Bluesky Setup
48+49+- Create a Bluesky account if you don't have one
50+- Note your handle and password
5152+### Installation
53+54+#### 1. Clone the repository
55+56+```bash
57+git clone https://tangled.sh/@cameron.pfiffer.org/void && cd void
58+```
5960+#### 2. Install dependencies
6162+```bash
63pip install -r requirements.txt
64```
6566+#### 3. Create configuration
6768+Copy the example configuration file and customize it:
6970+```bash
71+cp config.example.yaml config.yaml
72+```
7374+Edit `config.yaml` with your credentials:
7576+```yaml
77+letta:
78+ api_key: "your-letta-api-key-here"
79+ project_id: "your-project-id-here"
8081+bluesky:
82+ username: "your-handle.bsky.social"
83+ password: "your-app-password-here"
84+85+bot:
86+ agent:
87+ name: "void" # or whatever you want to name your agent
88```
8990+See [`CONFIG.md`](/CONFIG.md) for detailed configuration options.
91+92+#### 4. Test your configuration
93+94+```bash
95+python test_config.py
96+```
97+98+This will validate your configuration and show you what's working.
99+100+#### 5. Register tools with your agent
101+102+```bash
103+python register_tools.py
104+```
105+106+This will register all the necessary tools with your Letta agent. You can also:
107+108+- List available tools: `python register_tools.py --list`
109+- Register specific tools: `python register_tools.py --tools search_bluesky_posts create_new_bluesky_post`
110+- Use a different agent name: `python register_tools.py my-agent-name`
111+112+#### 6. Run the bot
113+114+```bash
115+python bsky.py
116+```
117+118+For testing mode (won't actually post):
119+120+```bash
121+python bsky.py --test
122+```
123+124+### Troubleshooting
125+126+- **Config validation errors**: Run `python test_config.py` to diagnose configuration issues
127+- **Letta connection issues**: Verify your API key and project ID are correct
128+- **Bluesky authentication**: Make sure you're handle and password are correct and that you can log into your account
129+- **Tool registration fails**: Ensure your agent exists in Letta and the name matches your config
130+131+### Contact
132For inquiries, please contact @cameron.pfiffer.org on Bluesky.
133134Note: void is an experimental project and its capabilities are under continuous development.