# Git Source Browser Host your project's source code alongside your releases. Fans and collaborators can browse code, read commit history, and view diffs without leaving the platform. ## Creating a Repository Push to the platform via SSH and the repository appears automatically. No web UI for creating empty repos. ### SSH Setup 1. Go to Settings > SSH Keys 2. Add your public key 3. Push to your repo: ``` git remote add mnw git@ssh.makenot.work:username/repo-name.git git push mnw main ``` The remote URL format is `git@ssh.makenot.work:username/repo-name.git`. ## Browsing Code Your repository is available at `/git/username/repo-name`. The source browser provides: - **Tree view**: Browse files and directories at any ref (branch, tag, or commit) - **File view**: Read individual files with syntax highlighting - **Commit log**: Paginated history (25 commits per page) for any branch - **Commit detail**: Full diff with inline additions and deletions (capped at 100 files / 10,000 lines) - **Blame view**: Per-line commit attribution - **Per-file history**: Commit log filtered to a single file's changes - **Raw file access**: View or download raw file contents at `/git/username/repo-name/raw/branch/path/to/file` - **Ref selector**: Switch between branches and tags from any view The overview shows the tree at HEAD and renders README.md as HTML if present. ## Visibility Repositories can be public or private: - **Public**: Anyone can browse the source. Listed on your profile and the explore page. - **Private**: Only you (the owner) can view. Does not appear in listings. Set visibility from the repository settings page. ## Explore Page The public explore page at `/git` lists all public repositories, paginated 15 per page. ## Cloning via HTTPS Clone over HTTPS (read-only): ``` git clone https://makenot.work/git/username/repo-name.git ``` ## Collaborators Add collaborators with push access from the repository settings page. Collaborators also get read access to private repositories they're added to. ## Issue Tracker Each repository has an email-driven issue tracker. Issues are created and replied to via email, with a read-only web interface for browsing. ### Viewing Issues Browse issues at `/git/username/repo-name/issues`. The list shows open and closed issues with search and filtering. Click any issue to see its full description and comment thread. ### Creating an Issue Send an email to: ``` username+repo-name@issues.makenot.work ``` The email subject becomes the issue title. The email body becomes the issue description. You must send from an email address associated with a verified MNW account. ### Replying to an Issue Reply to the notification email you received, or use the reply address shown in the issue detail. Replies are threaded into the existing issue as comments. ### Issue References in Commits Commit messages can reference issues. Push a commit with `closes #123` or `fixes #123` in the message, and the referenced issue is automatically closed. ### Issue Settings From the repository settings page, you can configure: - Whether issues are enabled for the repository - Custom email domain for issue submissions (if using a custom domain) ## Patch Submissions Submit patches via `git send-email`. Patches are routed to a discussion thread on Multithreaded (the platform's forum): ``` project-slug@patches.makenot.work ``` Multi-part patch series are grouped automatically using `In-Reply-To` and `References` headers. The sender must have a verified MNW account. ## Linking Releases If your repository is associated with a project, releases are linked in the repository view. ## See Also - [Content & Items](./02-content.md): Publishing releases - [Projects](./projects.md): Project setup