Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
fb986f3
chore(repo): scaffold agentic RAG monorepo
devdaviddr Apr 26, 2026
9de557d
fix(infra): make `docker compose up` start the full working stack
devdaviddr Apr 26, 2026
0bfa708
fix(infra): copy full pnpm workspace tree from deps stage
devdaviddr Apr 26, 2026
e14297c
fix(web): teach Next webpack to resolve `.js` imports as `.ts`
devdaviddr Apr 26, 2026
6140ccc
fix(web): defer env + embedder initialization to request time
devdaviddr Apr 26, 2026
10e8c36
fix(web): create empty public/ so Dockerfile COPY does not fail
devdaviddr Apr 26, 2026
d502351
fix(agent,web,db): unbreak chat — generate migrations, simulate strea…
devdaviddr Apr 26, 2026
5e199ea
fix(agent,rag): append /api to Ollama base URL
devdaviddr Apr 26, 2026
fdda9f9
chore(infra): point Compose at remote Ollama, drop in-stack ollama se…
devdaviddr Apr 26, 2026
e5ea5f4
Merge branch 'fix/compose-full-stack' into release-1.0.0
devdaviddr Apr 26, 2026
1240fb0
feat(web,rag,db): document upload UI for txt / md / pdf
devdaviddr Apr 26, 2026
72838d5
feat: add document management features with API endpoints and UI comp…
devdaviddr Apr 26, 2026
13c6e51
fix(build): use tsc -b in package builds for hermetic Docker rebuild
devdaviddr Apr 26, 2026
f8448b6
docs(spec): add v1.0.0 PDF vision-OCR + image-render spec
devdaviddr Apr 26, 2026
e93c9e3
feat(db,shared,web): settings page + schema for vision-OCR ingest (Ph…
devdaviddr Apr 26, 2026
9722c55
feat(rag,agent,web): vision-OCR PDF ingest pipeline (Phase B)
devdaviddr Apr 26, 2026
02276be
feat(web,agent): chat image-render guarantee (Phase C)
devdaviddr Apr 26, 2026
28681c6
feat(rag,web): hardening — atomicity, mutex, telemetry (Phase D)
devdaviddr Apr 26, 2026
7460e0c
fix(settings): model dropdowns + match :latest tag implicitly
devdaviddr Apr 26, 2026
414fc33
fix(web,infra): polyfill Promise.try for Node < 22, bump container to…
devdaviddr Apr 26, 2026
1dac153
fix(rag): polyfill Promise.try via direct side-effect import
devdaviddr Apr 26, 2026
9664e4a
Merge feature/document-upload-ui — vision-OCR PDF ingest, settings pa…
devdaviddr Apr 26, 2026
0319194
docs: rewrite README and add ARCHITECTURE.md
devdaviddr Apr 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
370 changes: 370 additions & 0 deletions .design/DESIGN.md

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
node_modules
**/node_modules
.next
**/.next
dist
**/dist
.git
.env
.env.local
coverage
.vscode
.idea
*.log
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false
30 changes: 30 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# ---- Postgres ----
POSTGRES_USER=rag
POSTGRES_PASSWORD=rag
POSTGRES_DB=rag
POSTGRES_PORT=5432
DATABASE_URL=postgres://rag:rag@localhost:5432/rag

# ---- Ollama ----
# Base URL for the Ollama HTTP API. Examples:
# - LAN host: http://192.168.4.90:11434
# - Same host: http://localhost:11434
# - Docker host (web container reaching host Ollama on macOS/Windows):
# http://host.docker.internal:11434
# The /api suffix is appended automatically.
OLLAMA_BASE_URL=http://192.168.4.90:11434
# Chat / generation model (must be pulled on the Ollama host).
OLLAMA_CHAT_MODEL=llama3.1:8b
# Embedding model (must be pulled on the Ollama host).
OLLAMA_EMBED_MODEL=nomic-embed-text
# Embedding dimension must match the model (nomic-embed-text = 768).
EMBEDDING_DIM=768

# ---- App ----
NODE_ENV=development
NEXT_PUBLIC_APP_URL=http://localhost:3000

# ---- RAG tuning ----
RAG_CHUNK_SIZE=800
RAG_CHUNK_OVERLAP=120
RAG_TOP_K=6
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Bug report
about: Report a defect or unexpected behavior
title: "bug: "
labels: bug
---

## What happened

## What you expected

## Steps to reproduce
1.
2.
3.

## Environment
- OS:
- Node:
- pnpm:
- Docker:

## Logs / screenshots
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: Feature request
about: Suggest a new capability or improvement
title: "feat: "
labels: enhancement
---

## Problem / motivation

## Proposed solution

## Alternatives considered

## Additional context
24 changes: 24 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## Summary
<!-- 1-3 bullets on what changed and why -->

## Related
<!-- issue / spec link -->

## Type
- [ ] feat
- [ ] fix
- [ ] refactor
- [ ] docs
- [ ] chore / ci / build

## Checklist
- [ ] Branched from `develop` (or `main` for hotfix)
- [ ] `pnpm typecheck` passes
- [ ] `pnpm lint` passes
- [ ] `pnpm test` passes (or N/A)
- [ ] Updated `spec/` docs if behavior changed
- [ ] Added migration if schema changed
- [ ] Manual smoke test:

## Screenshots / logs
<!-- optional -->
35 changes: 35 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CI

on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]

jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4
with:
version: 10

- uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm

- name: Install
run: pnpm install --frozen-lockfile=false

- name: Lint
run: pnpm lint

- name: Typecheck
run: pnpm typecheck

- name: Build
run: pnpm build
43 changes: 43 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Dependencies
node_modules/
.pnpm-store/

# Build output
dist/
build/
.next/
out/
*.tsbuildinfo

# Environment
.env
.env.local
.env.*.local
!.env.example

# Logs
*.log
npm-debug.log*
pnpm-debug.log*

# OS / editor
.DS_Store
.idea/
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json

# Test / coverage
coverage/
.nyc_output/

# Drizzle
drizzle/meta/_journal.json.bak

# Docker volumes (when bind-mounted locally)
.data/
volumes/

# Misc
*.pid
.turbo/
7 changes: 7 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
node_modules
dist
build
.next
coverage
pnpm-lock.yaml
*.tsbuildinfo
7 changes: 7 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"semi": true,
"singleQuote": true,
"trailingComma": "all",
"printWidth": 100,
"tabWidth": 2
}
Loading
Loading