# krisyotam forge Welcome to the documentation wiki for **krisyotam forge** — a self-hosted [SourceHut](https://sr.ht) instance. ## Services | Service | URL | Purpose | |---------|-----|---------| | [meta](https://meta.krisyotam.com) | Account management | User profiles, authentication, SSH/PGP keys | | [git](https://git.krisyotam.com) | Git hosting | Repositories, patches, access control | | [builds](https://builds.krisyotam.com) | CI/CD | Build manifests, job history, artifacts | | [todo](https://todo.krisyotam.com) | Issue tracking | Bug reports, feature requests, task management | | [paste](https://gist.krisyotam.com) | Paste/Gist | Code snippets, scratch pads, shareable text | | [lists](https://lists.krisyotam.com) | Mailing lists | Patch review, discussion, announcements | | [pages](https://pages.krisyotam.com) | Static sites | Published from git repositories | | [hub](https://hub.krisyotam.com) | Discovery | Browse public projects across the forge | ## Getting Started ### 1. Account Setup Your account is managed at [meta.krisyotam.com](https://meta.krisyotam.com). From there you can: - Upload SSH public keys for git access - Upload PGP keys for signed commits and encrypted email - Configure two-factor authentication - Generate personal access tokens for the API ### 2. Creating a Repository Navigate to [git.krisyotam.com](https://git.krisyotam.com) and click **Create repository**. Repositories can be: - **Public** — visible to everyone, listed on hub - **Unlisted** — accessible by URL but not listed - **Private** — visible only to you and explicit collaborators Clone and push: ``` git remote add origin git@git.krisyotam.com:~kris/my-project git push -u origin main ``` ### 3. Continuous Integration Create a `.build.yml` manifest in your repository root: ```yaml image: alpine/latest packages: - make - gcc tasks: - build: | cd my-project make - test: | cd my-project make test ``` Builds trigger automatically on push. View results at [builds.krisyotam.com](https://builds.krisyotam.com). ### 4. Issue Tracking Create a tracker at [todo.krisyotam.com](https://todo.krisyotam.com). Trackers can receive tickets via the web interface or by email. Labels and milestones help organize work. ### 5. Paste / Gist Share code snippets at [gist.krisyotam.com](https://gist.krisyotam.com). Pastes support syntax highlighting, expiration, and visibility controls. Useful for sharing configurations, logs, or quick scripts. ### 6. Mailing Lists Set up project mailing lists at [lists.krisyotam.com](https://lists.krisyotam.com) for patch review and discussion. SourceHut's email-driven workflow integrates tightly with `git send-email`. ### 7. Static Pages Publish static sites from any git repository. Push HTML, Markdown, or a static site generator output to pages and it will be served at `pages.krisyotam.com`. ## API Access All services expose a GraphQL API. Authenticate with a personal access token from [meta.krisyotam.com/oauth2](https://meta.krisyotam.com/oauth2): ``` curl -H "Authorization: Bearer YOUR_TOKEN" \ https://git.krisyotam.com/api/graphql \ -d '{"query": "{ me { username } }"}' ``` ## Administration This instance is maintained by [~kris](https://meta.krisyotam.com/~kris). Registration is closed. Contact the admin for account requests.