# slack5-1770523903 Slack Path 5: Full SDLC Lifecycle ## Quickstart ```bash # Clone the repo git clone https://git.threesix.ai/jordan/slack5-1770523903.git cd slack5-1770523903 # Install dependencies ./scripts/install.sh # Start local development ./scripts/dev.sh ``` ## Project Structure ``` slack5-1770523903/ ├── 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.mazwzaj2.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/slack5-1770523903/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/slack5-1770523903/components \ -H "X-API-Key: $RDEV_API_KEY" \ -d '{"type": "app", "name": "dashboard", "template": "app-react"}' ```