Skip to content

Commit 689db5a

Browse files
committed
feat: initial open-source release
Beeline - Open-source LLM observability and control platform Features: - Real-time agent monitoring dashboard - LLM metrics and analytics (TimescaleDB) - Cost tracking and budget controls - WebSocket event streaming - MCP (Model Context Protocol) server Apache 2.0 License
0 parents  commit 689db5a

File tree

205 files changed

+42545
-0
lines changed

Some content is hidden

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

205 files changed

+42545
-0
lines changed

.dockerignore

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Git
2+
.git/
3+
.gitignore
4+
5+
# Documentation
6+
*.md
7+
docs/
8+
LICENSE
9+
10+
# IDE
11+
.idea/
12+
.vscode/
13+
14+
# Dependencies (rebuilt in container)
15+
node_modules/
16+
17+
# Build artifacts
18+
dist/
19+
build/
20+
coverage/
21+
22+
# Environment files
23+
.env*
24+
config.yaml
25+
26+
# Logs
27+
*.log
28+
logs/
29+
30+
# OS
31+
.DS_Store
32+
Thumbs.db
33+
34+
# GitHub
35+
.github/

.editorconfig

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# EditorConfig helps maintain consistent coding styles
2+
# https://editorconfig.org
3+
4+
root = true
5+
6+
[*]
7+
charset = utf-8
8+
end_of_line = lf
9+
indent_style = space
10+
indent_size = 2
11+
insert_final_newline = true
12+
trim_trailing_whitespace = true
13+
14+
[*.md]
15+
trim_trailing_whitespace = false
16+
17+
[*.{yml,yaml}]
18+
indent_size = 2
19+
20+
[Makefile]
21+
indent_style = tab

.github/CODEOWNERS

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Default owners for everything in the repo
2+
* @adenhq/maintainers
3+
4+
# Frontend
5+
/honeycomb/ @adenhq/maintainers
6+
7+
# Backend
8+
/hive/ @adenhq/maintainers
9+
10+
# Infrastructure
11+
/docker-compose*.yml @adenhq/maintainers
12+
/.github/ @adenhq/maintainers
13+
14+
# Documentation
15+
/docs/ @adenhq/maintainers
16+
*.md @adenhq/maintainers
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug to help us improve
4+
title: '[Bug]: '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## Describe the Bug
10+
11+
A clear and concise description of what the bug is.
12+
13+
## To Reproduce
14+
15+
Steps to reproduce the behavior:
16+
17+
1. Go to '...'
18+
2. Click on '...'
19+
3. See error
20+
21+
## Expected Behavior
22+
23+
A clear and concise description of what you expected to happen.
24+
25+
## Screenshots
26+
27+
If applicable, add screenshots to help explain your problem.
28+
29+
## Environment
30+
31+
- OS: [e.g., Ubuntu 22.04, macOS 14]
32+
- Docker version: [e.g., 24.0.0]
33+
- Node version: [e.g., 20.10.0]
34+
- Browser (if applicable): [e.g., Chrome 120]
35+
36+
## Configuration
37+
38+
Relevant parts of your `config.yaml` (remove any sensitive data):
39+
40+
```yaml
41+
# paste here
42+
```
43+
44+
## Logs
45+
46+
Relevant log output:
47+
48+
```
49+
paste logs here
50+
```
51+
52+
## Additional Context
53+
54+
Add any other context about the problem here.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
name: Feature Request
3+
about: Suggest a new feature or enhancement
4+
title: '[Feature]: '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## Problem Statement
10+
11+
A clear and concise description of what problem this feature would solve.
12+
13+
Ex. I'm always frustrated when [...]
14+
15+
## Proposed Solution
16+
17+
A clear and concise description of what you want to happen.
18+
19+
## Alternatives Considered
20+
21+
A description of any alternative solutions or features you've considered.
22+
23+
## Additional Context
24+
25+
Add any other context, mockups, or screenshots about the feature request here.
26+
27+
## Implementation Ideas
28+
29+
If you have ideas about how this could be implemented, share them here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
## Description
2+
3+
Brief description of the changes in this PR.
4+
5+
## Type of Change
6+
7+
- [ ] Bug fix (non-breaking change that fixes an issue)
8+
- [ ] New feature (non-breaking change that adds functionality)
9+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
10+
- [ ] Documentation update
11+
- [ ] Refactoring (no functional changes)
12+
13+
## Related Issues
14+
15+
Fixes #(issue number)
16+
17+
## Changes Made
18+
19+
- Change 1
20+
- Change 2
21+
- Change 3
22+
23+
## Testing
24+
25+
Describe the tests you ran to verify your changes:
26+
27+
- [ ] Unit tests pass (`npm run test`)
28+
- [ ] Lint passes (`npm run lint`)
29+
- [ ] Manual testing performed
30+
31+
## Checklist
32+
33+
- [ ] My code follows the project's style guidelines
34+
- [ ] I have performed a self-review of my code
35+
- [ ] I have commented my code, particularly in hard-to-understand areas
36+
- [ ] I have made corresponding changes to the documentation
37+
- [ ] My changes generate no new warnings
38+
- [ ] I have added tests that prove my fix is effective or that my feature works
39+
- [ ] New and existing unit tests pass locally with my changes
40+
41+
## Screenshots (if applicable)
42+
43+
Add screenshots to demonstrate UI changes.

.github/workflows/ci.yml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
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+
jobs:
14+
lint:
15+
name: Lint
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Setup Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: '20'
24+
cache: 'npm'
25+
26+
- name: Install dependencies
27+
run: npm ci
28+
29+
- name: Run linter
30+
run: npm run lint
31+
32+
test:
33+
name: Test
34+
runs-on: ubuntu-latest
35+
steps:
36+
- uses: actions/checkout@v4
37+
38+
- name: Setup Node.js
39+
uses: actions/setup-node@v4
40+
with:
41+
node-version: '20'
42+
cache: 'npm'
43+
44+
- name: Install dependencies
45+
run: npm ci
46+
47+
- name: Run tests
48+
run: npm run test
49+
50+
build:
51+
name: Build
52+
runs-on: ubuntu-latest
53+
needs: [lint, test]
54+
steps:
55+
- uses: actions/checkout@v4
56+
57+
- name: Setup Node.js
58+
uses: actions/setup-node@v4
59+
with:
60+
node-version: '20'
61+
cache: 'npm'
62+
63+
- name: Install dependencies
64+
run: npm ci
65+
66+
- name: Build packages
67+
run: npm run build
68+
69+
docker:
70+
name: Docker Build
71+
runs-on: ubuntu-latest
72+
needs: [lint, test]
73+
steps:
74+
- uses: actions/checkout@v4
75+
76+
- name: Set up Docker Buildx
77+
uses: docker/setup-buildx-action@v3
78+
79+
- name: Build frontend image
80+
uses: docker/build-push-action@v5
81+
with:
82+
context: ./honeycomb
83+
push: false
84+
tags: honeycomb-frontend:test
85+
cache-from: type=gha
86+
cache-to: type=gha,mode=max
87+
88+
- name: Build backend image
89+
uses: docker/build-push-action@v5
90+
with:
91+
context: ./hive
92+
push: false
93+
tags: honeycomb-backend:test
94+
cache-from: type=gha
95+
cache-to: type=gha,mode=max

.github/workflows/release.yml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
packages: write
11+
12+
jobs:
13+
release:
14+
name: Create Release
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
20+
21+
- name: Setup Node.js
22+
uses: actions/setup-node@v4
23+
with:
24+
node-version: '20'
25+
cache: 'npm'
26+
27+
- name: Install dependencies
28+
run: npm ci
29+
30+
- name: Build packages
31+
run: npm run build
32+
33+
- name: Run tests
34+
run: npm run test
35+
36+
- name: Generate changelog
37+
id: changelog
38+
run: |
39+
# Extract version from tag
40+
VERSION=${GITHUB_REF#refs/tags/v}
41+
echo "version=$VERSION" >> $GITHUB_OUTPUT
42+
43+
- name: Create GitHub Release
44+
uses: softprops/action-gh-release@v1
45+
with:
46+
generate_release_notes: true
47+
draft: false
48+
prerelease: ${{ contains(github.ref, '-') }}
49+
50+
docker-publish:
51+
name: Publish Docker Images
52+
runs-on: ubuntu-latest
53+
needs: release
54+
steps:
55+
- uses: actions/checkout@v4
56+
57+
- name: Set up Docker Buildx
58+
uses: docker/setup-buildx-action@v3
59+
60+
- name: Login to GitHub Container Registry
61+
uses: docker/login-action@v3
62+
with:
63+
registry: ghcr.io
64+
username: ${{ github.actor }}
65+
password: ${{ secrets.GITHUB_TOKEN }}
66+
67+
- name: Extract metadata
68+
id: meta
69+
uses: docker/metadata-action@v5
70+
with:
71+
images: |
72+
ghcr.io/${{ github.repository }}/frontend
73+
ghcr.io/${{ github.repository }}/backend
74+
tags: |
75+
type=semver,pattern={{version}}
76+
type=semver,pattern={{major}}.{{minor}}
77+
type=semver,pattern={{major}}
78+
79+
- name: Build and push frontend
80+
uses: docker/build-push-action@v5
81+
with:
82+
context: ./honeycomb
83+
push: true
84+
tags: ghcr.io/${{ github.repository }}/frontend:${{ github.ref_name }}
85+
cache-from: type=gha
86+
cache-to: type=gha,mode=max
87+
88+
- name: Build and push backend
89+
uses: docker/build-push-action@v5
90+
with:
91+
context: ./hive
92+
push: true
93+
tags: ghcr.io/${{ github.repository }}/backend:${{ github.ref_name }}
94+
cache-from: type=gha
95+
cache-to: type=gha,mode=max

0 commit comments

Comments
 (0)