Skip to content

Commit 949d338

Browse files
committed
feat: initial v0.1.0 public release
GitHub App for automated AuraOne evaluations on pull requests. - Probot-style listener for pull_request events - Reads .auraone.yml / .auraone.yaml from PR head - Posts a auraone/evaluation Check Run with score + evidence link - Optional merge-block via configurable threshold - Uses @auraone/sdk for hosted API calls Distributed as source for self-hosting. A hosted version is available through the AuraOne dashboard.
0 parents  commit 949d338

10 files changed

Lines changed: 633 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: ci
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
test:
11+
name: test
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
- uses: actions/setup-node@v4
16+
with:
17+
node-version: "20.x"
18+
cache: npm
19+
- name: Install (skip @auraone/sdk linking issues for now)
20+
run: npm install --no-package-lock || true
21+
- name: Lint
22+
run: npm run lint
23+
- name: Test
24+
run: npm test

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
node_modules/
2+
.DS_Store
3+
.env
4+
.env.local
5+
*.log
6+
.vscode/
7+
.idea/
8+
coverage/

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Changelog
2+
3+
All notable changes to `@auraone/github-app` are documented here.
4+
5+
## [0.1.0] - 2026-05-11
6+
7+
Initial public release.
8+
9+
### Added
10+
11+
- Probot-based GitHub App that listens for `pull_request` events.
12+
- Configuration via `.auraone.yml` (or `.auraone.yaml`) in the target repository.
13+
- Posts a `auraone/evaluation` Check Run with run status, score, and a link to the evidence record.
14+
- Optional merge-block via configurable threshold.
15+
- Uses `@auraone/sdk` for hosted API access.
16+
17+
### Notes
18+
19+
- Distributed as source for self-hosting. A hosted version is available via the AuraOne dashboard.

CODE_OF_CONDUCT.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Code of Conduct
2+
3+
This project adopts the [Contributor Covenant, version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/) as its code of conduct.
4+
5+
## Scope
6+
7+
This Code of Conduct applies within all project spaces — issues, pull requests, discussions, and any other interaction tied to this repository.
8+
9+
## Reporting
10+
11+
If you experience or witness behavior that violates the Code of Conduct, please report it privately to:
12+
13+
- `conduct@auraone.ai`
14+
15+
Reports will be reviewed and handled with discretion. Reporters will not be identified without their permission.
16+
17+
## Enforcement
18+
19+
Project maintainers are responsible for clarifying standards and may take any action they deem appropriate in response to a violation, up to and including a temporary or permanent ban from project spaces.
20+
21+
## Attribution
22+
23+
The Contributor Covenant is available at https://www.contributor-covenant.org. For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq.

CONTRIBUTING.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Contributing to @auraone/github-app
2+
3+
Thanks for your interest in contributing. This repository hosts a Probot-style GitHub App that runs AuraOne evaluations on pull requests.
4+
5+
## Scope
6+
7+
We welcome:
8+
9+
- Bug reports with a minimal reproduction.
10+
- Documentation fixes — including `.auraone.yml` config schema improvements.
11+
- Additional check states, comment formats, or merge-gating policies.
12+
- Improvements to the self-hosting setup.
13+
14+
Out of scope:
15+
16+
- Hosted AuraOne backend behavior.
17+
18+
## Development
19+
20+
```bash
21+
git clone https://github.com/auraoneai/github-app.git
22+
cd github-app
23+
npm install
24+
cp .env.example .env # fill in dev credentials
25+
npm run dev
26+
npm test
27+
```
28+
29+
## Pull request expectations
30+
31+
- Keep changes focused.
32+
- Add or update tests when changing behavior.
33+
34+
## Code of Conduct
35+
36+
By participating, you agree to abide by the [Code of Conduct](CODE_OF_CONDUCT.md).
37+
38+
## License
39+
40+
Contributions are made under the [MIT License](LICENSE).

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 AuraOne
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# @auraone/github-app
2+
3+
GitHub App for automated AuraOne evaluations on pull requests.
4+
5+
Drops AuraOne eval runs into the PR check experience: open a PR, the app picks up the configuration in `.auraone.yml`, runs the configured eval against the bundle or model under change, and posts results as a Check Run with a structured summary comment.
6+
7+
This is the **source** distribution for self-hosting or contribution. A hosted instance of the same app is available via the AuraOne dashboard once you have an account.
8+
9+
## What it does
10+
11+
- Listens for `pull_request` events on installed repositories.
12+
- Reads `.auraone.yml` (or `.auraone.yaml`) from the PR head.
13+
- Calls the AuraOne hosted API via [`@auraone/sdk`](https://www.npmjs.com/package/@auraone/sdk) to start an evaluation run.
14+
- Reports a `auraone/evaluation` Check Run with status, score, and a link to the full evidence record.
15+
- Optionally blocks merge until the eval passes a configured threshold.
16+
17+
## Configuration
18+
19+
Drop a `.auraone.yml` in your repo root:
20+
21+
```yaml
22+
template_id: rubric.web.qa
23+
agent_bundle_url: s3://my-bucket/bundle.zip
24+
threshold: 0.85
25+
fail_on_threshold: true
26+
```
27+
28+
## Self-hosting
29+
30+
```bash
31+
git clone https://github.com/auraoneai/github-app.git
32+
cd github-app
33+
npm install
34+
cp .env.example .env # fill in GitHub App credentials + AURAONE_API_KEY
35+
npm start
36+
```
37+
38+
### Required env vars
39+
40+
- `GITHUB_APP_ID`
41+
- `GITHUB_PRIVATE_KEY` (PEM)
42+
- `GITHUB_WEBHOOK_SECRET`
43+
- `AURAONE_API_KEY`
44+
- `AURAONE_BASE_URL` (optional, defaults to `https://api.auraone.ai`)
45+
46+
## Hosted version
47+
48+
If you'd rather not self-host, install the hosted version from the AuraOne dashboard at https://www.auraone.ai/developers/integrations.
49+
50+
## Development
51+
52+
```bash
53+
npm install
54+
npm run dev # nodemon
55+
npm test # jest
56+
npm run lint
57+
```
58+
59+
## Related
60+
61+
- [`@auraone/sdk`](https://www.npmjs.com/package/@auraone/sdk) — TypeScript SDK this app uses internally.
62+
- [`auraone-sdk`](https://pypi.org/project/auraone-sdk/) — Python SDK with the same API surface.
63+
- [`auraone-evalkit`](https://pypi.org/project/auraone-evalkit/) — local, no-account evaluation tooling.
64+
65+
## License
66+
67+
MIT — see [LICENSE](LICENSE).

SECURITY.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Security Policy
2+
3+
## Scope
4+
5+
This policy covers the `@auraone/sdk` TypeScript SDK source published in this repository.
6+
7+
The hosted AuraOne backend at `api.auraone.ai` is out of scope for this repository. Backend security reports should be sent to `security@auraone.ai`.
8+
9+
## Supported versions
10+
11+
| Version | Supported |
12+
| --- | --- |
13+
| 0.1.x | Yes |
14+
15+
## Reporting a vulnerability
16+
17+
Please report security issues privately. Do not open a public GitHub issue.
18+
19+
- Email: `security@auraone.ai`
20+
- Subject: `[github-app] <short description>`
21+
22+
Include:
23+
24+
- Affected SDK version.
25+
- Description and impact.
26+
- Steps to reproduce, ideally with a minimal proof-of-concept.
27+
- Any suggested mitigation.
28+
29+
We'll acknowledge within 3 business days.
30+
31+
## What we consider a vulnerability
32+
33+
- Arbitrary code execution from SDK methods processing trusted-looking input.
34+
- Token / credential leakage paths.
35+
- Insecure default authentication or transport behavior.
36+
37+
## Disclosure
38+
39+
We prefer coordinated disclosure. We'll work with you on a timeline that gives users time to upgrade before public details are published.

package.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"name": "@auraone/github-app",
3+
"version": "0.1.0",
4+
"description": "GitHub App for automated AuraOne evaluations on pull requests.",
5+
"main": "src/app.js",
6+
"scripts": {
7+
"start": "node src/app.js",
8+
"dev": "nodemon src/app.js",
9+
"test": "jest",
10+
"lint": "eslint src --ext .js",
11+
"lint:fix": "eslint src --ext .js --fix"
12+
},
13+
"keywords": [
14+
"github",
15+
"app",
16+
"ci-cd",
17+
"auraone",
18+
"ai",
19+
"evaluation",
20+
"automation"
21+
],
22+
"author": "AuraOne",
23+
"license": "MIT",
24+
"dependencies": {
25+
"@octokit/app": "^14.0.2",
26+
"@octokit/webhooks": "^12.0.4",
27+
"@auraone/sdk": "^0.1.0",
28+
"js-yaml": "^4.1.0"
29+
},
30+
"devDependencies": {
31+
"eslint": "^8.54.0",
32+
"jest": "^29.7.0",
33+
"nodemon": "^3.0.1"
34+
},
35+
"engines": {
36+
"node": ">=16.0.0"
37+
},
38+
"repository": {
39+
"type": "git",
40+
"url": "https://github.com/auraoneai/github-app.git"
41+
},
42+
"bugs": {
43+
"url": "https://github.com/auraoneai/github-app/issues"
44+
},
45+
"homepage": "https://www.auraone.ai/developers"
46+
}

0 commit comments

Comments
 (0)