Skip to content

Commit 764329f

Browse files
committed
Initial public release
0 parents  commit 764329f

786 files changed

Lines changed: 184252 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.

.dockerignore

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Dependencies
2+
node_modules/
3+
4+
# Version control
5+
.git/
6+
.gitignore
7+
8+
# Build outputs
9+
.next/
10+
out/
11+
build/
12+
coverage/
13+
14+
# Data (runtime databases, vectors)
15+
data/
16+
17+
# Environment files
18+
.env*
19+
20+
# Documentation source (not needed in image)
21+
docs/
22+
*.md
23+
!README.md
24+
25+
# IDE / Editor
26+
.vscode/
27+
.idea/
28+
*.swp
29+
*.swo
30+
31+
# OS files
32+
.DS_Store
33+
Thumbs.db
34+
35+
# Deployment configs
36+
deploy/
37+
38+
# Test files
39+
src/__tests__/
40+
vitest.config.ts
41+
test-tracing.sh
42+
43+
# Scripts
44+
scripts/

.env.example

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# ============================================================
2+
# Cognipeer Console — Environment Configuration
3+
# ============================================================
4+
# Copy this file to .env.local and fill in your values.
5+
# All variables have sensible defaults unless marked (required).
6+
# ============================================================
7+
8+
# ---- Database ------------------------------------------------
9+
# Provider: sqlite (default, zero-dependency) | mongodb
10+
DB_PROVIDER=sqlite # Database backend
11+
MAIN_DB_NAME=console_main # Main database name
12+
SQLITE_DATA_DIR=./data/sqlite # SQLite data directory
13+
14+
# MongoDB (only required when DB_PROVIDER=mongodb)
15+
# MONGODB_URI=mongodb://localhost:27017 # MongoDB connection string
16+
# MONGODB_MIN_POOL_SIZE=2 # Minimum connection pool size
17+
# MONGODB_MAX_POOL_SIZE=10 # Maximum connection pool size
18+
# MONGODB_CONNECT_TIMEOUT_MS=10000 # Connection timeout (ms)
19+
# MONGODB_SOCKET_TIMEOUT_MS=45000 # Socket timeout (ms)
20+
# MONGODB_SERVER_SELECTION_TIMEOUT_MS=30000 # Server selection timeout (ms)
21+
22+
# ---- Authentication ------------------------------------------
23+
JWT_SECRET= # (required) JWT signing secret — min 32 random chars
24+
JWT_EXPIRES_IN=7d # Token expiry (1d, 7d, 30d)
25+
# PROVIDER_ENCRYPTION_SECRET= # Provider credential encryption key (falls back to JWT_SECRET)
26+
27+
# ---- License -------------------------------------------------
28+
# ENFORCE_LICENSE=false # Set to "true" to enforce license tier restrictions (default: false = all features unlocked)
29+
30+
# ---- Email (SMTP) --------------------------------------------
31+
# Optional — emails will be skipped if not configured
32+
# SMTP_HOST=smtp.example.com # SMTP server hostname
33+
# SMTP_PORT=587 # SMTP port
34+
# SMTP_SECURE=false # Use TLS (true/false)
35+
# SMTP_USER= # SMTP username
36+
# SMTP_PASS= # SMTP password
37+
# SMTP_FROM=noreply@example.com # Sender address (defaults to SMTP_USER)
38+
39+
# ---- Gateway / Resilience ------------------------------------
40+
# GATEWAY_REQUEST_TIMEOUT_MS=120000 # Request timeout for provider calls (ms)
41+
# GATEWAY_RETRY_ENABLED=true # Enable retry on provider failures
42+
# GATEWAY_RETRY_MAX_ATTEMPTS=3 # Max retry attempts (1 = no retry)
43+
# GATEWAY_RETRY_INITIAL_DELAY_MS=200 # Initial retry delay (exponential backoff)
44+
# GATEWAY_CIRCUIT_BREAKER_ENABLED=true # Enable circuit breaker
45+
# GATEWAY_CIRCUIT_BREAKER_THRESHOLD=5 # Failures to trip the breaker
46+
# GATEWAY_CIRCUIT_BREAKER_RESET_MS=30000 # Time before half-open reset (ms)
47+
48+
# ---- Cache ---------------------------------------------------
49+
# Provider: none | memory | redis
50+
CACHE_PROVIDER=memory # Cache provider (no fallback)
51+
# CACHE_TTL_SECONDS=300 # Default cache TTL (seconds)
52+
# REDIS_URL= # Redis connection URL (required when redis)
53+
# REDIS_KEY_PREFIX=console: # Redis key prefix
54+
55+
# ---- Rate Limiting -------------------------------------------
56+
# Provider: memory (default) | mongodb | redis
57+
RATE_LIMIT_PROVIDER=memory # Rate limit backend
58+
# RATE_LIMIT_SYNC_INTERVAL_MS=5000 # Sync interval for distributed counters
59+
60+
# ---- Logging -------------------------------------------------
61+
# LOG_LEVEL=debug # error | warn | info | debug
62+
# LOG_FORMAT=pretty # json | pretty (pretty = colorized dev output)
63+
# LOG_REQUEST_BODY=false # Log request bodies (caution: sensitive data)
64+
# LOG_RESPONSE_BODY=false # Log response bodies
65+
66+
# ---- CORS ----------------------------------------------------
67+
# CORS_ENABLED=false # Enable CORS for /api/client/* endpoints
68+
# CORS_ALLOWED_ORIGINS= # Comma-separated origins (required when CORS enabled)
69+
# CORS_MAX_AGE=86400 # Preflight cache max-age (seconds)
70+
71+
# ---- Health ---------------------------------------------------
72+
# HEALTH_ENDPOINT_ENABLED=true # Enable /api/health/live and /api/health/ready
73+
74+
# ---- Limits --------------------------------------------------
75+
# NEXT_BODY_SIZE_LIMIT=10mb # Max body size for server actions
76+
# TRACING_MAX_BODY_SIZE_MB=10 # Max tracing session payload (MB)
77+
78+
# ---- Application ---------------------------------------------
79+
NODE_ENV=development
80+
NEXT_PUBLIC_APP_URL=http://localhost:3000 # Public application URL (used in emails, links)
81+
# SHUTDOWN_TIMEOUT_MS=15000 # Graceful shutdown timeout (ms)
82+
83+
# ---- Provider Runtime Pool -----------------------------------
84+
# PROVIDER_RUNTIME_CACHE_TTL_SECONDS=300 # SDK client cache TTL (0 = no caching)

.github/CODEOWNERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Replace or extend these owners to match your GitHub usernames or teams.
2+
# This scaffold keeps the repository ready for automatic review routing once the public repo is live.
3+
4+
* @anilguleroglu
5+
docs/ @anilguleroglu
6+
src/server/ @anilguleroglu
7+
src/lib/ @anilguleroglu
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Bug report
2+
description: Report a reproducible defect in Cognipeer Console.
3+
title: "[Bug]: "
4+
labels:
5+
- bug
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Use this form for product or code defects. Do not disclose security vulnerabilities here.
11+
- type: textarea
12+
id: summary
13+
attributes:
14+
label: Summary
15+
description: What broke?
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: steps
20+
attributes:
21+
label: Reproduction steps
22+
description: Provide a minimal, deterministic reproduction.
23+
placeholder: |
24+
1. Start the app with ...
25+
2. Open ...
26+
3. Observe ...
27+
validations:
28+
required: true
29+
- type: textarea
30+
id: expected
31+
attributes:
32+
label: Expected behavior
33+
validations:
34+
required: true
35+
- type: textarea
36+
id: actual
37+
attributes:
38+
label: Actual behavior
39+
validations:
40+
required: true
41+
- type: input
42+
id: version
43+
attributes:
44+
label: Version or commit
45+
placeholder: main / tag / commit sha
46+
- type: dropdown
47+
id: runtime
48+
attributes:
49+
label: Runtime mode
50+
options:
51+
- SQLite
52+
- MongoDB
53+
- Docker
54+
- Kubernetes
55+
- Other
56+
- type: textarea
57+
id: logs
58+
attributes:
59+
label: Relevant logs or screenshots
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 issue
4+
url: https://github.com/Cognipeer/cognipeer-console/security/advisories/new
5+
about: Report security vulnerabilities privately.
6+
- name: Commercial inquiry
7+
url: https://github.com/Cognipeer/cognipeer-console/blob/main/COMMERCIAL.md
8+
about: Read the commercial licensing and support guidance.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Feature request
2+
description: Propose a new capability or improvement.
3+
title: "[Feature]: "
4+
labels:
5+
- enhancement
6+
body:
7+
- type: textarea
8+
id: problem
9+
attributes:
10+
label: Problem statement
11+
description: What user or operator pain does this solve?
12+
validations:
13+
required: true
14+
- type: textarea
15+
id: proposal
16+
attributes:
17+
label: Proposed solution
18+
description: Describe the desired behavior or API.
19+
validations:
20+
required: true
21+
- type: textarea
22+
id: alternatives
23+
attributes:
24+
label: Alternatives considered
25+
- type: dropdown
26+
id: area
27+
attributes:
28+
label: Area
29+
options:
30+
- Docs
31+
- API
32+
- Dashboard UI
33+
- Providers
34+
- Tracing
35+
- Guardrails
36+
- Vector / RAG
37+
- Security / Licensing
38+
- Deployment / Operations
39+
- Other

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
## Summary
2+
3+
Describe the problem and the change in one or two paragraphs.
4+
5+
## Changes
6+
7+
-
8+
9+
## Validation
10+
11+
- [ ] `npm run lint`
12+
- [ ] `npm run test`
13+
- [ ] `npm run build`
14+
- [ ] `npm run docs:build`
15+
16+
## Release Notes
17+
18+
- [ ] Docs updated when behavior changed
19+
- [ ] Security-sensitive changes reviewed
20+
- [ ] License or policy files updated if repo-facing behavior changed

0 commit comments

Comments
 (0)