Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ jobs:
"$TMP/node_modules/.bin/gittensory-mcp" --help >/dev/null

- name: Publish with npm trusted publishing
run: npx -y npm@11.15.0 publish --workspace @jsonbored/gittensory-mcp --access restricted
run: npx -y npm@11.15.0 publish --workspace @jsonbored/gittensory-mcp --access public
4 changes: 2 additions & 2 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ jobs:

- name: Build docs
env:
GITTENSORY_SITE_URL: https://jsonbored.github.io/gittensory/
GITTENSORY_SITE_BASE: /gittensory/
GITTENSORY_SITE_URL: https://gittensory.aethereal.dev/
GITTENSORY_SITE_BASE: /
run: npm run docs:build

- name: Upload Pages artifact
Expand Down
19 changes: 9 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,28 @@ Gittensory is not a Gittensor frontend, not a public leaderboard, and not an aut
- Worker API: Cloudflare Workers + Hono + D1 + Queues.
- MCP package: `@jsonbored/gittensory-mcp`, a local stdio wrapper for coding agents.
- GitHub App: check runs and optional sanitized sticky PR comments.
- Docs site: VitePress under `site/`, deployable by GitHub Pages when the repo is public.
- Docs site: VitePress under `site/`, deployed at `https://gittensory.aethereal.dev/`.

## MCP Install

Private beta:
Public npm:

```sh
npm install
npm link --workspace @jsonbored/gittensory-mcp
npm install -g @jsonbored/gittensory-mcp
gittensory-mcp login
gittensory-mcp doctor
gittensory-mcp --stdio
```

Public npm path, once intentionally launched:
Local checkout:

```sh
npx @jsonbored/gittensory-mcp login
npm install -g @jsonbored/gittensory-mcp
npm install
npm link --workspace @jsonbored/gittensory-mcp
gittensory-mcp --stdio
```

The package is restricted until launch. Public release requires changing npm access to `public`, bumping the MCP package version, and publishing through the tag-gated release workflow.
Future MCP package releases are published from protected `mcp-vX.Y.Z` tags through the trusted-publishing workflow.

## MCP Client Config

Expand Down Expand Up @@ -94,7 +93,7 @@ wrangler secret put INTERNAL_JOB_TOKEN

## Canonical API

Private beta endpoints use `Authorization: Bearer <GITTENSORY_API_TOKEN>` or a Gittensory OAuth session where supported.
Protected endpoints use `Authorization: Bearer <GITTENSORY_API_TOKEN>` or a Gittensory OAuth session where supported.

- `GET /health`
- `GET /openapi.json`
Expand Down Expand Up @@ -153,7 +152,7 @@ npm run docs:build
npm run docs:preview
```

The Pages workflow builds the docs on `main`, but deploys only when the repository variable `GITTENSORY_DOCS_DEPLOY` is set to `true`.
The Pages workflow builds the docs on `main` for `https://gittensory.aethereal.dev/`, but deploys only when the repository variable `GITTENSORY_DOCS_DEPLOY` is set to `true`.

## Validation

Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 7 additions & 8 deletions packages/gittensory-mcp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,26 @@

Local stdio MCP wrapper for Gittensory contributor intelligence.

It inspects local git metadata and calls the private Gittensory API for branch preflight, score blockers, reward/risk reasoning, contributor decision packs, and public-safe PR packets. It does not upload source contents in v1.
It inspects local git metadata and calls the Gittensory API for branch preflight, score blockers, reward/risk reasoning, contributor decision packs, and public-safe PR packets. It does not upload source contents in v1.

## Status

The package is restricted during private beta. Public npm install will be enabled only after the launch gate passes.
The package is public beta. Gittensory still keeps sensitive score, trust, and maintainer context out of public PR comments.

## Install

Private beta from the repo:
Public npm:

```sh
npm install
npm link --workspace @jsonbored/gittensory-mcp
npm install -g @jsonbored/gittensory-mcp
gittensory-mcp login
```

Public npm path once launched:
From a local checkout:

```sh
npx @jsonbored/gittensory-mcp login
npm install -g @jsonbored/gittensory-mcp
npm install
npm link --workspace @jsonbored/gittensory-mcp
```

## Commands
Expand Down
6 changes: 3 additions & 3 deletions packages/gittensory-mcp/package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "@jsonbored/gittensory-mcp",
"version": "0.1.1",
"version": "0.1.2",
"license": "AGPL-3.0-only",
"type": "module",
"description": "Local stdio MCP wrapper for private Gittensory contributor intelligence.",
"description": "Local stdio MCP wrapper for Gittensory contributor intelligence.",
"repository": {
"type": "git",
"url": "git+https://github.com/JSONbored/gittensory.git",
Expand All @@ -22,7 +22,7 @@
"preflight"
],
"publishConfig": {
"access": "restricted"
"access": "public"
},
"bin": {
"gittensory-mcp": "bin/gittensory-mcp.js"
Expand Down
4 changes: 2 additions & 2 deletions site/.vitepress/config.mts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { defineConfig } from "vitepress";

const siteUrl = process.env.GITTENSORY_SITE_URL ?? "https://jsonbored.github.io/gittensory/";
const siteBase = process.env.GITTENSORY_SITE_BASE ?? "/gittensory/";
const siteUrl = process.env.GITTENSORY_SITE_URL ?? "https://gittensory.aethereal.dev/";
const siteBase = process.env.GITTENSORY_SITE_BASE ?? "/";

export default defineConfig({
title: "Gittensory",
Expand Down
4 changes: 2 additions & 2 deletions site/guide/github-app-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The GitHub App is the maintainer/install surface. GitHub OAuth is the MCP user-a

## Basic Fields

Use these values for private beta:
Use these values:

| Field | Value |
| --- | --- |
Expand Down Expand Up @@ -74,4 +74,4 @@ Before Marketplace submission, add:
- clear setup flow
- valid webhook and install diagnostics

Do not submit while Gittensory is private beta or invite-only.
Do not submit until the privacy, support, terms, install diagnostics, and public setup flow are complete.
30 changes: 11 additions & 19 deletions site/guide/install.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,33 @@
# Install

Gittensory has two install paths: private beta from the repository, and public npm once the package is intentionally launched.
Gittensory has two install paths: public npm for normal use, and local checkout for development.

## Private Beta
## Public npm

Use this while `JSONbored/gittensory` is still private.
Use this for Codex, Claude Desktop, Cursor, or any other stdio MCP client:

```sh
git clone https://github.com/JSONbored/gittensory.git
cd gittensory
npm install
npm link --workspace @jsonbored/gittensory-mcp
npm install -g @jsonbored/gittensory-mcp
gittensory-mcp login
gittensory-mcp status
```

After login, start the MCP server with:

```sh
gittensory-mcp --stdio
```

The login command uses GitHub Device Flow and stores a short-lived Gittensory session token in your local config directory.

## Public npm
## Local checkout

This path is prepared but stays disabled until public launch.
Use this when developing Gittensory itself:

```sh
npx @jsonbored/gittensory-mcp login
npm install -g @jsonbored/gittensory-mcp
gittensory-mcp status
git clone https://github.com/JSONbored/gittensory.git
cd gittensory
npm install
npm link --workspace @jsonbored/gittensory-mcp
gittensory-mcp login
gittensory-mcp --stdio
```

The package should remain restricted until the launch gate passes. Public launch means changing npm publish access to `public`, bumping the MCP package version, and publishing from the release workflow.

## Verify The Install

Run:
Expand Down
4 changes: 2 additions & 2 deletions site/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ features:

## What Gittensory Is

Gittensory is a private backend intelligence layer for Gittensor registered repositories.
Gittensory is a backend intelligence layer for Gittensor registered repositories.
It helps Gittensor miners and contributors decide what to work on next, and it helps maintainers understand whether a Gittensor-driven PR is clean, duplicate-prone, stale, missing evidence, or worth reviewing.

It is not a Gittensor frontend, not a public leaderboard, and not a reward estimator for public comments. The useful surface is the signal: role-aware repo context, official Gittensor stats, local branch preflight, queue health, duplicate risk, and maintainer-friendly review packets.
Expand All @@ -45,4 +45,4 @@ It is not a Gittensor frontend, not a public leaderboard, and not a reward estim

## Current Status

Gittensory is still private beta. The MCP package remains restricted until the public launch gate passes, but the install flow is already shaped for a simple public npm path.
Gittensory is public beta. The MCP package is public, while sensitive score, trust, and maintainer context stays in authenticated API/MCP/check-run surfaces.
1 change: 1 addition & 0 deletions site/public/CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
gittensory.aethereal.dev
4 changes: 2 additions & 2 deletions site/reference/api.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# API Reference

The REST API is private beta and bearer-token protected except for `/health`, GitHub webhook delivery, and public auth start/poll endpoints.
The REST API is bearer-token protected except for `/health`, GitHub webhook delivery, and public auth start/poll endpoints.

Use the live OpenAPI document when authenticated:

Expand Down Expand Up @@ -46,4 +46,4 @@ curl "$GITTENSORY_API_URL/openapi.json" \

## MCP Endpoint

`POST /mcp` exposes remote private-beta MCP over Streamable HTTP style requests. The local npm wrapper is still the preferred MCP user surface.
`POST /mcp` exposes remote MCP over Streamable HTTP style requests. The local npm wrapper is still the preferred MCP user surface.
2 changes: 1 addition & 1 deletion site/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## `gittensory-mcp: command not found`

For private beta:
If the command is not installed globally:

```sh
npm link --workspace @jsonbored/gittensory-mcp
Expand Down
Loading