Skip to content

Commit 92106ee

Browse files
committed
feat: initial public release of opencodehub v0.1.0
0 parents  commit 92106ee

602 files changed

Lines changed: 90819 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
indent_style = space
9+
indent_size = 2
10+
11+
[*.md]
12+
trim_trailing_whitespace = false
13+
14+
[*.py]
15+
indent_size = 4
16+
17+
[Makefile]
18+
indent_style = tab
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Bug report
2+
description: Something in OpenCodeHub is broken or behaving unexpectedly.
3+
labels: [bug]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for filing a bug. A minimal reproduction saves everyone time.
9+
10+
- type: input
11+
id: version
12+
attributes:
13+
label: OpenCodeHub version
14+
placeholder: "e.g. v2.0.0, commit sha, or 'main @ <sha>'"
15+
validations:
16+
required: true
17+
18+
- type: dropdown
19+
id: os
20+
attributes:
21+
label: Operating system
22+
options:
23+
- macOS (Apple Silicon)
24+
- macOS (Intel)
25+
- Linux (x86_64)
26+
- Linux (arm64)
27+
- Windows
28+
validations:
29+
required: true
30+
31+
- type: input
32+
id: node
33+
attributes:
34+
label: Node version
35+
placeholder: "output of `node --version`"
36+
validations:
37+
required: true
38+
39+
- type: textarea
40+
id: what-happened
41+
attributes:
42+
label: What happened
43+
description: What did you expect? What happened instead?
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
id: reproduction
49+
attributes:
50+
label: Minimal reproduction
51+
description: Commands, config, and a small repo (or path to a public one) that triggers the bug.
52+
render: shell
53+
validations:
54+
required: true
55+
56+
- type: textarea
57+
id: logs
58+
attributes:
59+
label: Relevant logs / stack trace
60+
render: shell

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security vulnerability
4+
url: https://github.com/theagenticguy/opencodehub/security/advisories/new
5+
about: Report a security vulnerability privately via GitHub Security Advisories.
6+
- name: Discussion / question
7+
url: https://github.com/theagenticguy/opencodehub/discussions
8+
about: Design discussions, questions, and ideas belong in Discussions.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Feature request
2+
description: Suggest a new MCP tool, language, scanner, or capability.
3+
labels: [enhancement]
4+
body:
5+
- type: textarea
6+
id: problem
7+
attributes:
8+
label: What problem does this solve?
9+
description: Describe the agent workflow or developer pain-point this addresses.
10+
validations:
11+
required: true
12+
13+
- type: textarea
14+
id: proposal
15+
attributes:
16+
label: Proposed solution
17+
description: How would you expect this to work from an agent's or a user's perspective?
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: alternatives
23+
attributes:
24+
label: Alternatives considered
25+
description: Workarounds you tried, or adjacent tools that solve part of this.
26+
27+
- type: checkboxes
28+
id: contribute
29+
attributes:
30+
label: Contribution
31+
options:
32+
- label: I'd be willing to draft a PR if the direction is endorsed

.github/dependabot.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: npm
4+
directory: "/"
5+
schedule:
6+
interval: weekly
7+
open-pull-requests-limit: 10
8+
groups:
9+
typescript-tooling:
10+
patterns: ["typescript", "@biomejs/*", "@types/*"]
11+
tree-sitter:
12+
patterns: ["tree-sitter*", "web-tree-sitter"]
13+
14+
- package-ecosystem: github-actions
15+
directory: "/"
16+
schedule:
17+
interval: weekly
18+
19+
- package-ecosystem: pip
20+
directory: "/packages/eval"
21+
schedule:
22+
interval: weekly

.github/pull_request_template.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<!-- Thanks for contributing to OpenCodeHub! -->
2+
3+
## What this change does
4+
5+
6+
7+
## Why
8+
9+
<!-- Link an issue if applicable: Closes #123 -->
10+
11+
## How I verified it
12+
13+
- [ ] `pnpm run check` passes locally (lint + typecheck + test + banned-strings)
14+
- [ ] Added or updated tests covering the change
15+
- [ ] Updated docs / README / ADRs where behavior changed
16+
17+
## Risk / blast radius
18+
19+
<!-- For non-trivial changes: which packages, tools, or execution flows does this touch? -->
20+
21+
## Breaking changes
22+
23+
<!-- Fill in if applicable. If none, write "None." -->
24+
25+
## Screenshots / output
26+
27+
<!-- Optional. CLI output or graph diffs help reviewers. -->

.github/workflows/ci.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
lint:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v4
21+
- uses: jdx/mise-action@v2
22+
- run: pnpm install --frozen-lockfile
23+
- run: pnpm exec biome ci .
24+
25+
typecheck:
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: actions/checkout@v4
29+
- uses: jdx/mise-action@v2
30+
- run: pnpm install --frozen-lockfile
31+
- run: pnpm -r exec tsc --noEmit
32+
33+
test:
34+
strategy:
35+
fail-fast: false
36+
matrix:
37+
os: [ubuntu-latest, macos-latest, windows-latest]
38+
runs-on: ${{ matrix.os }}
39+
steps:
40+
- uses: actions/checkout@v4
41+
- uses: jdx/mise-action@v2
42+
- run: pnpm install --frozen-lockfile
43+
- run: pnpm -r test
44+
45+
sarif-validate:
46+
runs-on: ubuntu-latest
47+
steps:
48+
- uses: actions/checkout@v4
49+
- uses: jdx/mise-action@v2
50+
- run: pnpm install --frozen-lockfile
51+
- run: pnpm -F @opencodehub/sarif build
52+
- run: pnpm -F @opencodehub/sarif run validate-schema
53+
54+
banned-strings:
55+
runs-on: ubuntu-latest
56+
steps:
57+
- uses: actions/checkout@v4
58+
- run: bash scripts/check-banned-strings.sh
59+
60+
licenses:
61+
runs-on: ubuntu-latest
62+
steps:
63+
- uses: actions/checkout@v4
64+
- uses: jdx/mise-action@v2
65+
- run: pnpm install --frozen-lockfile
66+
- name: license allowlist
67+
run: >
68+
pnpm exec license-checker-rseidelsohn
69+
--onlyAllow 'Apache-2.0;MIT;BSD-2-Clause;BSD-3-Clause;ISC;CC0-1.0'
70+
--excludePrivatePackages
71+
--production
72+
73+
osv:
74+
permissions:
75+
contents: read
76+
security-events: write
77+
uses: google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@v2
78+
with:
79+
scan-args: |-
80+
--lockfile=pnpm-lock.yaml

.github/workflows/codeql.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: CodeQL
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
schedule:
9+
- cron: "27 4 * * 3"
10+
11+
permissions:
12+
actions: read
13+
contents: read
14+
security-events: write
15+
16+
jobs:
17+
analyze:
18+
name: Analyze (${{ matrix.language }})
19+
runs-on: ubuntu-latest
20+
timeout-minutes: 30
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
language: [javascript-typescript, python]
25+
steps:
26+
- uses: actions/checkout@v4
27+
- uses: github/codeql-action/init@v3
28+
with:
29+
languages: ${{ matrix.language }}
30+
queries: security-and-quality
31+
- uses: github/codeql-action/autobuild@v3
32+
- uses: github/codeql-action/analyze@v3
33+
with:
34+
category: "/language:${{ matrix.language }}"

.github/workflows/commitlint.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Commitlint
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
7+
permissions:
8+
contents: read
9+
pull-requests: read
10+
11+
jobs:
12+
commitlint:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
18+
- uses: jdx/mise-action@v2
19+
- run: pnpm install --frozen-lockfile
20+
- name: Validate PR commit messages
21+
run: |
22+
pnpm exec commitlint \
23+
--from ${{ github.event.pull_request.base.sha }} \
24+
--to ${{ github.event.pull_request.head.sha }} \
25+
--verbose
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Release Please
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
permissions:
8+
contents: write
9+
pull-requests: write
10+
11+
jobs:
12+
release-please:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: googleapis/release-please-action@v4
16+
with:
17+
config-file: .release-please-config.json
18+
manifest-file: .release-please-manifest.json

0 commit comments

Comments
 (0)