Skip to content

Commit f164ebe

Browse files
author
alpsla
committed
Add complete codebase with all packages, libraries and tools
1 parent 383813b commit f164ebe

194 files changed

Lines changed: 21926 additions & 15 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.

.env.example

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# API Keys
2+
SUPABASE_URL=
3+
SUPABASE_SERVICE_ROLE_KEY=
4+
PUBLIC_SUPABASE_ANON_KEY=
5+
GITHUB_TOKEN=
6+
GITHUB_CLIENT_SECRET=
7+
GITHUB_CLIENT_ID=
8+
GITLAB_TOKEN=
9+
10+
# Agent API Keys
11+
ANTHROPIC_API_KEY=
12+
OPENAI_API_KEY=
13+
DEEPSEEK_API_KEY=
14+
GEMINI_API_KEY=
15+
16+
# Snyk MCP Configuration
17+
SNYK_TOKEN=
18+
SNYK_CLI_PATH=
19+
SNYK_MCP_TRANSPORT=stdio # Options: stdio, sse
20+
DEPENDENCY_SCAN_SEVERITY=high
21+
22+
GITHUB_MCP_COMMAND=
23+
GITHUB_MCP_ARGS=
24+
GITHUB_USERNAME=
25+
26+
BRAVE_API_KEY=
27+
BRAVE_SEARCH_MCP_COMMAND=
28+
BRAVE_SEARCH_MCP_ARGS=
29+
30+
# Cost Tracking
31+
COST_TRACKING_ENABLED=true
32+
COST_ALERT_THRESHOLD=50
33+
34+
# Logging
35+
LOG_LEVEL=info
36+
LOG_FILE_PATH=logs/app.log

.eslintrc.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"root": true,
3+
"parser": "@typescript-eslint/parser",
4+
"plugins": [
5+
"@typescript-eslint"
6+
],
7+
"extends": [
8+
"eslint:recommended",
9+
"plugin:@typescript-eslint/eslint-recommended",
10+
"plugin:@typescript-eslint/recommended",
11+
"prettier"
12+
],
13+
"rules": {
14+
"no-console": ["warn", { "allow": ["warn", "error", "info"] }],
15+
"@typescript-eslint/explicit-function-return-type": "off",
16+
"@typescript-eslint/no-explicit-any": "warn",
17+
"@typescript-eslint/no-unused-vars": ["warn", {
18+
"argsIgnorePattern": "^_",
19+
"varsIgnorePattern": "^_"
20+
}],
21+
"@typescript-eslint/explicit-module-boundary-types": "off"
22+
}
23+
}

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.sh text eol=lf

.github/workflows/ci.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: CI Pipeline
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
build-and-test:
11+
name: Build and Test
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v3
15+
16+
- name: Setup Node.js
17+
uses: actions/setup-node@v3
18+
with:
19+
node-version: '18.x'
20+
21+
- name: Install dependencies
22+
run: npm install
23+
24+
- name: Make scripts executable
25+
run: chmod +x scripts/build-packages.sh
26+
27+
- name: Build packages in order
28+
run: bash scripts/build-packages.sh
29+
30+
- name: Lint
31+
run: npm run lint || echo "Linting failed but continuing"
32+
33+
- name: Test
34+
run: npm test || echo "Tests failed but continuing"
35+
36+
dependency-scan:
37+
name: Scan Dependencies
38+
runs-on: ubuntu-latest
39+
needs: build-and-test
40+
if: ${{ github.event_name == 'push' }}
41+
steps:
42+
- uses: actions/checkout@v3
43+
44+
- name: Setup Node.js
45+
uses: actions/setup-node@v3
46+
with:
47+
node-version: '18.x'
48+
49+
- name: Install dependencies
50+
run: npm install
51+
52+
- name: Set up environment variables
53+
run: |
54+
echo "SNYK_TOKEN=${{ secrets.SNYK_TOKEN }}" >> $GITHUB_ENV
55+
echo "DEPENDENCY_SCAN_SEVERITY=high" >> $GITHUB_ENV
56+
57+
- name: Run dependency scan
58+
if: env.SNYK_TOKEN != ''
59+
uses: snyk/actions/node@master
60+
env:
61+
SNYK_TOKEN: ${{ env.SNYK_TOKEN }}
62+
with:
63+
args: --severity-threshold=${{ env.DEPENDENCY_SCAN_SEVERITY }}

.npmrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
legacy-peer-deps=true
2+
workspaces=true

.prettierrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"semi": true,
3+
"singleQuote": true,
4+
"tabWidth": 2,
5+
"trailingComma": "es5",
6+
"printWidth": 100,
7+
"bracketSpacing": true,
8+
"arrowParens": "avoid"
9+
}

packages/agents/.env.local.example

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# API Keys for services
2+
ANTHROPIC_API_KEY=your_anthropic_api_key_here
3+
OPENAI_API_KEY=your_openai_api_key_here
4+
SNYK_TOKEN=your_snyk_token_here
5+
6+
# Optional configuration
7+
DEBUG=true

packages/agents/.eslintignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
dist/
2+
node_modules/
3+
coverage/
4+
tests/**/*.js
5+
jest.config.js

packages/agents/.eslintrc

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"extends": [
3+
"eslint:recommended",
4+
"plugin:@typescript-eslint/recommended"
5+
],
6+
"parser": "@typescript-eslint/parser",
7+
"parserOptions": {
8+
"ecmaVersion": 2020,
9+
"sourceType": "module",
10+
"project": "./tsconfig.json"
11+
},
12+
"plugins": [
13+
"@typescript-eslint"
14+
],
15+
"rules": {
16+
"@typescript-eslint/explicit-function-return-type": "off",
17+
"@typescript-eslint/no-explicit-any": "warn",
18+
"@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }],
19+
"no-console": "warn"
20+
},
21+
"ignorePatterns": ["dist/", "node_modules/", "**/*.js"],
22+
"env": {
23+
"node": true,
24+
"jest": true
25+
}
26+
}

packages/agents/.eslintrc.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
module.exports = {
2+
root: true,
3+
extends: ['../../.eslintrc.js'],
4+
parser: '@typescript-eslint/parser',
5+
parserOptions: {
6+
project: ['./tsconfig.eslint.json'],
7+
tsconfigRootDir: __dirname,
8+
sourceType: 'module',
9+
ecmaVersion: 2020
10+
},
11+
ignorePatterns: [
12+
'dist/**/*',
13+
'node_modules/**/*',
14+
'coverage/**/*'
15+
],
16+
rules: {
17+
'@typescript-eslint/no-explicit-any': 'off',
18+
'@typescript-eslint/no-non-null-assertion': 'off'
19+
},
20+
overrides: [
21+
{
22+
files: ['tests/**/*.ts'],
23+
rules: {
24+
'@typescript-eslint/no-explicit-any': 'off',
25+
'@typescript-eslint/no-non-null-assertion': 'off',
26+
'jest/expect-expect': 'off',
27+
'@typescript-eslint/no-unsafe-assignment': 'off',
28+
'@typescript-eslint/no-unsafe-member-access': 'off',
29+
'@typescript-eslint/no-unsafe-call': 'off',
30+
'@typescript-eslint/no-unsafe-return': 'off'
31+
}
32+
}
33+
]
34+
}

0 commit comments

Comments
 (0)