Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
f877721
feat(product): add Mimir app and core hardening
jb-thery Jun 29, 2026
2bc1393
feat(core): use proven Office parsers
jb-thery Jun 29, 2026
43f4f37
test(core): cover varied parsing fixtures
jb-thery Jun 29, 2026
17f9f4b
docs: split long README references
jb-thery Jun 29, 2026
f110473
docs(app): document Mimir Core sidecar boundary
jb-thery Jun 29, 2026
363cf5d
feat(app): expand local workspace shell
jb-thery Jun 29, 2026
efd0564
feat(landing): add waitlist capture endpoint
jb-thery Jun 29, 2026
8b7bd3d
fix(frontend): add Mimir favicons
jb-thery Jun 29, 2026
614feaa
docs(product): define pricing and payment defaults
jb-thery Jun 29, 2026
61aeae9
feat(core): add JSON output for sidecar commands
jb-thery Jun 29, 2026
d92a73c
feat(app): add local project registry
jb-thery Jun 29, 2026
8267d51
feat(core): support explicit project roots
jb-thery Jun 29, 2026
e6ed639
feat(product): align Mimir landing and CLI
jb-thery Jun 29, 2026
129515c
feat(app): wire bounded Mimir runtime bridge
jb-thery Jun 29, 2026
2eb529e
feat(app): surface Mimir model status
jb-thery Jun 29, 2026
66b2560
docs(readme): mention desktop client preview
jb-thery Jun 29, 2026
b9d1136
feat(app): export retrieval markdown reports
jb-thery Jun 29, 2026
34ac979
feat(app): render offline audio reports
jb-thery Jun 29, 2026
523f9cd
feat(app): add local license activation
jb-thery Jun 29, 2026
9b58c71
docs(app): define direct distribution runbook
jb-thery Jun 29, 2026
2d4a176
docs(app): add signing release checklist
jb-thery Jun 29, 2026
0ae5892
feat(app): add watched folder auto ingest
jb-thery Jun 29, 2026
145f5ca
feat(core): add opt-in PDF OCR command
jb-thery Jun 29, 2026
efa3b1d
feat(app): map Lemon Squeezy events to licenses
jb-thery Jun 29, 2026
de71f37
build(app): add Android APK build script
jb-thery Jun 29, 2026
89ac537
feat(app): add Google Drive sync intake
jb-thery Jun 29, 2026
0a436d8
build(app): add native release preflight
jb-thery Jun 29, 2026
e2aa70d
docs(gtm): add validation playbook
jb-thery Jun 29, 2026
97572d1
docs(product): define app brand and domain
jb-thery Jun 29, 2026
f4381a6
build(landing): add Cloudflare static assets config
jb-thery Jun 29, 2026
3231dc4
test(core): add MCP smoke client
jb-thery Jun 29, 2026
19a98e6
docs(core): record dogfooding audio proof
jb-thery Jun 29, 2026
dd73fe7
fix(core): keep private documents ignored
jb-thery Jun 29, 2026
55fd480
docs(product): define open-core boundary
jb-thery Jun 29, 2026
a6b4562
ci(app): add native desktop artifact workflow
jb-thery Jun 29, 2026
5972362
feat(core): add legal dossier skill
jb-thery Jun 29, 2026
0e5b3bc
docs(product): bound sovereign positioning
jb-thery Jun 29, 2026
1abcde8
feat(core): add semantic setup shortcut
jb-thery Jun 29, 2026
627ce2b
fix(app): enable semantic model setup
jb-thery Jun 29, 2026
7334213
docs(core): add api reference
jb-thery Jun 29, 2026
e5cc69c
docs(tts): add offline preload guide
jb-thery Jun 29, 2026
254c875
docs(landing): clarify direct app distribution
jb-thery Jun 29, 2026
c99b8fc
docs(dogfooding): add private corpus protocol
jb-thery Jun 29, 2026
36cb355
ci(app): add native bundle checksums
jb-thery Jun 29, 2026
05bb954
docs(payments): define direct checkout path
jb-thery Jun 29, 2026
f52cf7a
ci(app): guard updater configuration
jb-thery Jun 29, 2026
7e685ac
test(app): cover lemon squeezy license conversion
jb-thery Jun 29, 2026
4be81d1
feat(core): add retrieval recall evaluation
jb-thery Jun 29, 2026
e69155d
test(core): smoke retrieval evaluation
jb-thery Jun 29, 2026
bb2a0ee
ci: run quality gate on git flow branches
jb-thery Jun 29, 2026
6698c73
test(app): smoke updater guard
jb-thery Jun 29, 2026
641d609
feat(webhook): add license issuance handler
jb-thery Jun 29, 2026
c82eba3
feat(webhook): persist license records
jb-thery Jun 29, 2026
acdef73
ci(webhook): add worker dry run
jb-thery Jun 29, 2026
137154b
fix(core): hide legacy kb alias from help
jb-thery Jun 29, 2026
3a258a9
test(core): guard public cli help
jb-thery Jun 29, 2026
ced7145
test(app): smoke native checksums
jb-thery Jun 29, 2026
773b34e
feat(core): expose mimir command helper
jb-thery Jun 29, 2026
e6e9ccc
feat(app): add native release manifest
jb-thery Jun 29, 2026
418ad8d
test(repo): guard public surface
jb-thery Jun 29, 2026
e37969a
test(app): smoke release preflight
jb-thery Jun 29, 2026
a73bb63
test(app): verify native bundles
jb-thery Jun 29, 2026
1e7cb9b
chore(repo): harden public source boundary
jb-thery Jun 29, 2026
633e453
build(deps): patch vulnerable parser dependencies
jb-thery Jun 29, 2026
ce443cb
feat(core): add evaluation recall threshold
jb-thery Jun 29, 2026
bd52371
feat(landing): refine design and seo
jb-thery Jun 29, 2026
1e5b057
feat(core): expose evaluation embedding metadata
jb-thery Jun 29, 2026
1ca25c8
feat(landing): add shadcn workflow tabs
jb-thery Jun 29, 2026
5cedc75
fix(landing): use tabs for install commands
jb-thery Jun 29, 2026
baf6942
feat(landing): redesign Mimir product story
jb-thery Jun 29, 2026
cb70a87
feat(landing): add concrete product use cases
jb-thery Jun 29, 2026
9421b96
feat(core): improve ingestion and usage diagnostics
jb-thery Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ body:
id: version
attributes:
label: Mimir version
placeholder: "pnpm exec kb --version"
placeholder: "pnpm exec mimir --version"
validations:
required: true
- type: textarea
Expand Down
4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@

## Security

- [ ] No secrets, private documents, `.env` files, or generated `.kb/storage` files are included.
- [ ] Public documentation does not expose private project details.
- [ ] No secrets, private documents, `.env` files, generated `.kb/` or generated `.mimir/` state are included.
- [ ] Public documentation does not expose private project, customer, pricing, or validation details.
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: CI

on:
pull_request:
branches: [main]
branches: [main, develop]
push:
branches: [main]
branches: [main, develop, "feature/**"]
merge_group:

permissions:
Expand Down Expand Up @@ -51,7 +51,7 @@ jobs:
run: pnpm smoke

- name: Verify generated dist is committed
run: git diff --exit-code -- packages/mimir/dist packages/mimir-tts/dist
run: git diff --exit-code -- packages/mimir-core/dist packages/mimir-tts/dist

- name: Verify npm package metadata
run: pnpm package:check
Expand Down
158 changes: 158 additions & 0 deletions .github/workflows/native-app-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
name: Native App Build

on:
workflow_dispatch:
inputs:
target:
description: "Native target to build"
required: true
default: "linux"
type: choice
options:
- linux
- macos
- windows
- desktop-all

permissions:
contents: read

concurrency:
group: native-app-build-${{ github.ref }}-${{ inputs.target }}
cancel-in-progress: false

jobs:
linux:
name: Build Linux AppImage and deb
if: inputs.target == 'linux' || inputs.target == 'desktop-all'
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Install Linux Tauri dependencies
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 22

- name: Set up pnpm
run: |
corepack enable
corepack prepare pnpm@11.9.0 --activate

- name: Set up Rust
uses: dtolnay/rust-toolchain@stable

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run release preflight
run: pnpm --filter @jcode.labs/mimir-app release:preflight -- --target linux --soft

- name: Build native bundle
run: pnpm --filter @jcode.labs/mimir-app tauri:build:linux

- name: Generate checksums
run: pnpm --filter @jcode.labs/mimir-app release:checksums

- name: Generate release manifest
run: pnpm --filter @jcode.labs/mimir-app release:manifest -- --target linux

- name: Upload native bundle
uses: actions/upload-artifact@v4
with:
name: mimir-app-linux-${{ github.sha }}
path: packages/mimir-app/src-tauri/target/release/bundle/
if-no-files-found: error

macos:
name: Build macOS app and dmg
if: inputs.target == 'macos' || inputs.target == 'desktop-all'
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 22

- name: Set up pnpm
run: |
corepack enable
corepack prepare pnpm@11.9.0 --activate

- name: Set up Rust
uses: dtolnay/rust-toolchain@stable

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run release preflight
run: pnpm --filter @jcode.labs/mimir-app release:preflight -- --target macos --soft

- name: Build native bundle
run: pnpm --filter @jcode.labs/mimir-app tauri:build:macos

- name: Generate checksums
run: pnpm --filter @jcode.labs/mimir-app release:checksums

- name: Generate release manifest
run: pnpm --filter @jcode.labs/mimir-app release:manifest -- --target macos

- name: Upload native bundle
uses: actions/upload-artifact@v4
with:
name: mimir-app-macos-${{ github.sha }}
path: packages/mimir-app/src-tauri/target/release/bundle/
if-no-files-found: error

windows:
name: Build Windows NSIS and MSI
if: inputs.target == 'windows' || inputs.target == 'desktop-all'
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 22

- name: Set up pnpm
shell: bash
run: |
corepack enable
corepack prepare pnpm@11.9.0 --activate

- name: Set up Rust
uses: dtolnay/rust-toolchain@stable

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run release preflight
run: pnpm --filter @jcode.labs/mimir-app release:preflight -- --target windows --soft

- name: Build native bundle
run: pnpm --filter @jcode.labs/mimir-app tauri:build:windows

- name: Generate checksums
run: pnpm --filter @jcode.labs/mimir-app release:checksums

- name: Generate release manifest
run: pnpm --filter @jcode.labs/mimir-app release:manifest -- --target windows

- name: Upload native bundle
uses: actions/upload-artifact@v4
with:
name: mimir-app-windows-${{ github.sha }}
path: packages/mimir-app/src-tauri/target/release/bundle/
if-no-files-found: error
6 changes: 3 additions & 3 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:

- name: Verify version input
run: |
test "$(node -p "require('./packages/mimir/package.json').version")" = "${{ inputs.version }}"
test "$(node -p "require('./packages/mimir-core/package.json').version")" = "${{ inputs.version }}"
test "$(node -p "require('./packages/mimir-tts/package.json').version")" = "${{ inputs.version }}"

- name: Install dependencies
Expand All @@ -69,7 +69,7 @@ jobs:
run: pnpm smoke

- name: Verify generated dist is committed
run: git diff --exit-code -- packages/mimir/dist packages/mimir-tts/dist
run: git diff --exit-code -- packages/mimir-core/dist packages/mimir-tts/dist

- name: Verify npm package metadata
run: pnpm package:check
Expand All @@ -89,6 +89,6 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Publish Mimir
run: pnpm --dir packages/mimir publish --access public --provenance --no-git-checks
run: pnpm --dir packages/mimir-core publish --access public --provenance --no-git-checks
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
24 changes: 16 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,21 @@ private/**
.mimir/
*.tgz
release-artifacts/
*.pid

packages/mimir-app/dist/
packages/mimir-app/src-tauri/target/
packages/mimir-app/src-tauri/gen/
packages/mimir-landing/.astro/
packages/mimir-landing/dist/
packages/mimir-license-webhook/dist/

# Tracked synthetic examples. Keep generated example runtime state ignored.
!packages/mimir/examples/
!packages/mimir/examples/**/
!packages/mimir/examples/**/.kb/
!packages/mimir/examples/**/.kb/config.json
!packages/mimir/examples/**/.kb/sources.txt
packages/mimir/examples/**/.kb/storage/
packages/mimir/examples/**/.kb/access.log
packages/mimir/examples/**/.mimir/
!packages/mimir-core/examples/
!packages/mimir-core/examples/**/
!packages/mimir-core/examples/**/.kb/
!packages/mimir-core/examples/**/.kb/config.json
!packages/mimir-core/examples/**/.kb/sources.txt
packages/mimir-core/examples/**/.kb/storage/
packages/mimir-core/examples/**/.kb/access.log
packages/mimir-core/examples/**/.mimir/
Loading
Loading