persona-community-1/README.md
jordan 4004f88f4a
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/manual/woodpecker Pipeline was successful
Initialize project from skeleton template
2026-02-23 10:20:59 +00:00

78 lines
1.9 KiB
Markdown

# persona-community-1
AI Persona Generation Community
## Quickstart
```bash
# Clone the repo
git clone https://git.threesix.ai/jordan/persona-community-1.git
cd persona-community-1
# Install dependencies
./scripts/install.sh
# Start local development
./scripts/dev.sh
```
## Project Structure
```
persona-community-1/
├── services/ # Go API services
├── workers/ # Background workers
├── apps/ # Frontend applications
├── cli/ # CLI tools
├── packages/ # Shared TypeScript packages
├── pkg/ # Shared Go packages
└── scripts/ # Development scripts
```
## Scripts
| Script | Description |
|--------|-------------|
| `./scripts/dev.sh` | Start local development environment |
| `./scripts/install.sh` | Install all dependencies |
| `./scripts/quality.sh` | Run quality checks on all components |
| `./scripts/discover.sh` | List all components in the monorepo |
## API Documentation
API documentation is automatically generated from OpenAPI specs and deployed to:
- **Docs**: https://docs.hzqjzw29.threesix.ai
- **OpenAPI Spec**: Each service exposes `/openapi.json`
To regenerate docs locally:
```bash
# Start services locally
./scripts/dev.sh
# Generate Slate markdown from OpenAPI specs
./docs/scripts/generate-docs.sh http://localhost
# Preview docs (optional - requires Ruby)
cd docs && bundle install && bundle exec middleman serve
```
Documentation is automatically rebuilt on every push to `main`.
## Adding Components
Components are added via the rdev API:
```bash
# Add a Go service
curl -X POST $RDEV_API_URL/projects/persona-community-1/components \
-H "X-API-Key: $RDEV_API_KEY" \
-d '{"type": "service", "name": "auth-api"}'
# Add a React app
curl -X POST $RDEV_API_URL/projects/persona-community-1/components \
-H "X-API-Key: $RDEV_API_KEY" \
-d '{"type": "app", "name": "dashboard", "template": "app-react"}'
```