···30303131## Getting Started
32323333-Before continuing, you must make sure you have created a project on Letta Cloud (or your instance) and have somewhere to run this on.
3333+Before continuing, you must:
3434+3535+1. Create a project on [Letta Cloud](https://cloud.letta.com) (or your own Letta instance)
3636+2. Have a Bluesky account
3737+3. Have Python 3.8+ installed
3838+3939+### Prerequisites
4040+4141+#### 1. Letta Setup
4242+4343+- Sign up for [Letta Cloud](https://cloud.letta.com)
4444+- Create a new project
4545+- Note your Project ID and create an API key
4646+4747+#### 2. Bluesky Setup
4848+4949+- Create a Bluesky account if you don't have one
5050+- Note your handle and password
34513535-### Running the bot locally
5252+### Installation
5353+5454+#### 1. Clone the repository
5555+5656+```bash
5757+git clone https://tangled.sh/@cameron.pfiffer.org/void && cd void
5858+```
36593737-#### Install dependencies
6060+#### 2. Install dependencies
38613939-```shell
6262+```bash
4063pip install -r requirements.txt
4164```
42654343-#### Create `.env`
6666+#### 3. Create configuration
44674545-Copy `.env.example` (`cp .env.example .env`) and fill out the fields.
6868+Copy the example configuration file and customize it:
46694747-#### Create configuration
7070+```bash
7171+cp config.example.yaml config.yaml
7272+```
48734949-Copy `config.example.yaml` and fill out your configuration. See [`CONFIG.md`](/CONFIG.md) to learn more.
7474+Edit `config.yaml` with your credentials:
50755151-#### Register tools
7676+```yaml
7777+letta:
7878+ api_key: "your-letta-api-key-here"
7979+ project_id: "your-project-id-here"
52805353-```shell
5454-py .\register_tools.py <AGENT_NAME> # your agent's name on letta
8181+bluesky:
8282+ username: "your-handle.bsky.social"
8383+ password: "your-app-password-here"
8484+8585+bot:
8686+ agent:
8787+ name: "void" # or whatever you want to name your agent
5588```
56895757-Contact:
9090+See [`CONFIG.md`](/CONFIG.md) for detailed configuration options.
9191+9292+#### 4. Test your configuration
9393+9494+```bash
9595+python test_config.py
9696+```
9797+9898+This will validate your configuration and show you what's working.
9999+100100+#### 5. Register tools with your agent
101101+102102+```bash
103103+python register_tools.py
104104+```
105105+106106+This will register all the necessary tools with your Letta agent. You can also:
107107+108108+- List available tools: `python register_tools.py --list`
109109+- Register specific tools: `python register_tools.py --tools search_bluesky_posts create_new_bluesky_post`
110110+- Use a different agent name: `python register_tools.py my-agent-name`
111111+112112+#### 6. Run the bot
113113+114114+```bash
115115+python bsky.py
116116+```
117117+118118+For testing mode (won't actually post):
119119+120120+```bash
121121+python bsky.py --test
122122+```
123123+124124+### Troubleshooting
125125+126126+- **Config validation errors**: Run `python test_config.py` to diagnose configuration issues
127127+- **Letta connection issues**: Verify your API key and project ID are correct
128128+- **Bluesky authentication**: Make sure you're handle and password are correct and that you can log into your account
129129+- **Tool registration fails**: Ensure your agent exists in Letta and the name matches your config
130130+131131+### Contact
58132For inquiries, please contact @cameron.pfiffer.org on Bluesky.
5913360134Note: void is an experimental project and its capabilities are under continuous development.