~kris/wiki

6bfb628a795bf384e0170103c50e800c775db16c — kris a month ago master
initial wiki content
1 files changed, 92 insertions(+), 0 deletions(-)

A index.md
A  => index.md +92 -0
@@ 1,92 @@
# 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.