Source: https://seerepo.com/r/crynta/terax-ai/built
Markdown source: https://seerepo.com/r/crynta/terax-ai/built.md
Description: terax-ai is a TypeScript repo built with React, Tauri, Vite, Tokio, objc2-foundation, and 2 more. It signs people in with keyring.

# What is terax-ai built with?

terax-ai is a TypeScript repo built with React, Tauri, Vite, Tokio, objc2-foundation, and 2 more. It signs people in with keyring, uses AI through ai, ai-sdk, and OpenAI, makes its content with streamdown, validates its data with Zod, is tested with Vitest, playwright, and pngjs, deploys with log, tauri-apps, and tauri-plugin-log, and uses @tauri-apps/plugin-store and tauri-plugin-store. It has 217,256 written lines, with 303 test files.

Read on November 15, 2026, at commit 8d68145.

Repository: https://github.com/crynta/terax-ai

## Frontend

### The base

- **[React](https://seerepo.com/uses/react)**: 175 files · [in package.json](https://github.com/crynta/terax-ai/blob/8d681458ee5d77bdf8edc797381836ec502df4d9/package.json)
- **[Tauri](https://seerepo.com/uses/tauri)**: 38 files
- **[Vite](https://seerepo.com/uses/vite)**: 2 files · [in package.json](https://github.com/crynta/terax-ai/blob/8d681458ee5d77bdf8edc797381836ec502df4d9/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**
- **[class-variance-authority](https://seerepo.com/uses/class-variance-authority)**: 10 files
- **[uiw](https://seerepo.com/uses/uiw)**: 2 files
- **[tailwind-merge](https://seerepo.com/uses/tailwind-merge)**: 1 file

### Interface

- **[Radix UI](https://seerepo.com/uses/radix-ui)**: 28 files
- **[CodeMirror](https://seerepo.com/uses/codemirror)**: 25 files
- **[sonner](https://seerepo.com/uses/sonner)**: 22 files
- **[@lezer/highlight](https://seerepo.com/uses/lezer-highlight)**: 4 files
- **[@uiw/react-codemirror](https://seerepo.com/uses/uiw-react-codemirror)**: 3 files
- **[TanStack](https://seerepo.com/uses/tanstack)**: 3 files
- **@replit/codemirror-vim**: 2 files
- **[react-resizable-panels](https://seerepo.com/uses/react-resizable-panels)**: 2 files
- **[@tauri-apps/plugin-notification](https://seerepo.com/uses/tauri-apps-plugin-notification)**: 1 file
- **[cmdk](https://seerepo.com/uses/cmdk)**: 1 file
- **[gtk](https://seerepo.com/uses/gtk)**: 1 file
- **[tauri-plugin-notification](https://seerepo.com/uses/tauri-plugin-notification)**: 1 file
- **[tauri-plugin-window-state](https://seerepo.com/uses/tauri-plugin-window-state)**: 1 file
- **[use-stick-to-bottom](https://seerepo.com/uses/use-stick-to-bottom)**: 1 file
- **window-vibrancy**: 1 file

### Icons

- **[hugeicons](https://seerepo.com/uses/hugeicons)**: 74 files
- **@iconify-json/catppuccin**: 1 file

## Backend

### The base

- **[Tokio](https://seerepo.com/uses/tokio)**: 8 files
- **[objc2-foundation](https://seerepo.com/uses/objc2-foundation)**: 5 files
- **[objc2-app-kit](https://seerepo.com/uses/objc2-app-kit)**: 3 files

### Data

- **[@tauri-apps/plugin-store](https://seerepo.com/uses/tauri-apps-plugin-store)**: 7 files
- **[tauri-plugin-store](https://seerepo.com/uses/tauri-plugin-store)**: 1 file

### Sign-in

- **[keyring](https://seerepo.com/uses/keyring)**: 1 file

### AI

- **[ai](https://seerepo.com/uses/ai)**: 23 files
- **[ai-sdk](https://seerepo.com/uses/ai-sdk)**: 7 files

### Services

- **[OpenAI](https://seerepo.com/uses/openai)**: 1 file · [src/modules/ai/lib/stt.ts, line 23](https://github.com/crynta/terax-ai/blob/8d681458ee5d77bdf8edc797381836ec502df4d9/src/modules/ai/lib/stt.ts#L23)

## Support

### The base

- **[@tauri-apps/api](https://seerepo.com/uses/tauri-apps-api)**: 69 files

### Content

- **[streamdown](https://seerepo.com/uses/streamdown)**: 2 files

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 8 files

### Testing

- **Vitest**: 288 files
- **playwright**: 1 file
- **[pngjs](https://seerepo.com/uses/pngjs)**: 1 file

### Deploy

- **[log](https://seerepo.com/uses/log)**: 22 files
- **[tauri-apps](https://seerepo.com/uses/tauri-apps)**: 1 file
- **[tauri-plugin-log](https://seerepo.com/uses/tauri-plugin-log)**: 1 file

### Tools

- **@codemirror/lang-vue**: 1 file
- **react-scan**: 1 file
- **Replit**: 1 file

### Other

- **serde**: 40 files
- **serde_json**: 26 files
- **tempfile**: 24 files
- **[tauri-apps](https://seerepo.com/uses/tauri-apps)**: 16 files
- **libc**: 15 files
- **zustand**: 15 files
- **dirs**: 11 files
- **windows-sys**: 11 files
- **ignore**: 7 files
- **getrandom**: 6 files
- **globset**: 4 files
- **objc2**: 4 files
- **portable-pty**: 4 files
- **shared_child**: 4 files
- **bytes**: 2 files
- **futures-util**: 2 files
- **memchr**: 2 files
- **regex**: 2 files
- **reqwest**: 2 files
- **block2**: 1 file
- **clsx**: 1 file
- **fsevent-sys**: 1 file
- **grep-regex**: 1 file
- **grep-searcher**: 1 file
- **http-range**: 1 file
- **notify**: 1 file
- **nucleo-matcher**: 1 file
- **percent-encoding**: 1 file
- **rustls**: 1 file
- **tauri-plugin-autostart**: 1 file
- **tauri-plugin-clipboard-manager**: 1 file
- **tauri-plugin-opener**: 1 file
- **tauri-plugin-os**: 1 file
- **tauri-plugin-process**: 1 file
- **tauri-plugin-updater**: 1 file
- **toml**: 1 file
- **which**: 1 file

## Other repos with a similar stack

- [janhq/jan](https://seerepo.com/r/janhq/jan/built): React, Tauri, Vite, Tokio, objc2-foundation, objc2-app-kit, @tauri-apps/plugin-store, tauri-plugin-store, OpenAI, @tauri-apps/api, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, sonner, TanStack, gtk, use-stick-to-bottom, keyring, ai, ai-sdk, streamdown, Zod, log, tauri-apps, tauri-plugin-log · [Compare](https://seerepo.com/compare/crynta/terax-ai/vs/janhq/jan)
- [unslothai/unsloth](https://seerepo.com/r/unslothai/unsloth/built): React, Tauri, Vite, Tokio, objc2-foundation, objc2-app-kit, OpenAI, @tauri-apps/api, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, sonner, TanStack, react-resizable-panels, @tauri-apps/plugin-notification, cmdk, gtk, tauri-plugin-notification, tauri-plugin-window-state, hugeicons, streamdown, log · [Compare](https://seerepo.com/compare/crynta/terax-ai/vs/unslothai/unsloth)
- [farion1231/cc-switch](https://seerepo.com/r/farion1231/cc-switch/built): React, Tauri, Vite, Tokio, objc2-foundation, objc2-app-kit, tauri-plugin-store, @tauri-apps/api, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, CodeMirror, sonner, cmdk, gtk, tauri-plugin-window-state, Zod, log, tauri-apps, tauri-plugin-log · [Compare](https://seerepo.com/compare/crynta/terax-ai/vs/farion1231/cc-switch)
- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): React, Vite, OpenAI, Tailwind CSS, class-variance-authority, uiw, tailwind-merge, Radix UI, CodeMirror, @lezer/highlight, @uiw/react-codemirror, TanStack, react-resizable-panels, cmdk, ai, ai-sdk, streamdown, Zod · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/crynta/terax-ai)
- [paperclipai/paperclip](https://seerepo.com/r/paperclipai/paperclip/built): React, Vite, Tokio, OpenAI, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, CodeMirror, @lezer/highlight, react-resizable-panels, cmdk, ai, ai-sdk, Zod · [Compare](https://seerepo.com/compare/crynta/terax-ai/vs/paperclipai/paperclip)
- [Stirling-Tools/Stirling-PDF](https://seerepo.com/r/Stirling-Tools/Stirling-PDF/built): React, Tauri, Vite, Tokio, objc2-foundation, objc2-app-kit, tauri-plugin-store, @tauri-apps/api, Tailwind CSS, @tauri-apps/plugin-notification, tauri-plugin-notification, tauri-plugin-window-state, keyring, log, tauri-plugin-log · [Compare](https://seerepo.com/compare/crynta/terax-ai/vs/Stirling-Tools/Stirling-PDF)

## Frequently asked questions

### What language is terax-ai written in?

terax-ai is written in TypeScript, with 217,256 written lines.

### What framework does terax-ai use?

terax-ai is built with React, Tauri, Vite, Tokio, objc2-foundation, objc2-app-kit, and @tauri-apps/api.

The proof: [in package.json](https://github.com/crynta/terax-ai/blob/8d681458ee5d77bdf8edc797381836ec502df4d9/package.json)

### What does terax-ai sign people in with?

terax-ai signs people in with keyring.

### Does terax-ai use AI?

Yes. terax-ai uses AI through ai, ai-sdk, and OpenAI.

### What services does terax-ai use?

terax-ai uses @tauri-apps/plugin-store and tauri-plugin-store.

### Does terax-ai have tests?

Yes. terax-ai has 303 test files and is tested with Vitest, playwright, and pngjs.

### Which repos have a stack like terax-ai's?

The ones that share most of its stack: janhq/jan, unslothai/unsloth, and farion1231/cc-switch.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
