Skip to content

Commit b1f72e3

Browse files
committed
feat(init): set up ZeroLimit project with Tauri, React, and Rust
WHAT: - Initializes the ZeroLimit project, establishing the core structure for a Tauri desktop application. - Integrates a React frontend, including routing, a default layout, and initial pages (Dashboard, About). - Incorporates Shadcn UI components, theme management, and internationalization (i18n) with multiple language support. - Sets up the Rust backend for Tauri, providing commands for CLI proxy control (start, stop, status), system tray integration, and global state management. - Adds essential development configurations: `.editorconfig`, `.gitignore`, `.prettierrc`, and `components.json`. - Includes project documentation (`README.md`, `docs/USAGE.md`) and all necessary public assets (icons, provider images, screenshots). - Introduces components for displaying detailed and compact AI provider quota information. - Updates `src/server.ts` to support configurable port via `process.env.PORT` and renames the port variable to `PORT`. WHY: - To establish the complete foundational framework for the ZeroLimit application, enabling cross-platform desktop functionality. - To provide a modern, maintainable, and scalable architecture for both the user interface and backend logic. - To ensure consistent code style, formatting, and project setup for efficient development. - To deliver a localized and user-friendly experience for monitoring AI coding assistant quotas. - To prepare the application for future feature development and deployment. feat(app): implement core UI, routing, state management, and API services Introduces main application pages: LoginPage, ProvidersPage, QuotaPage, SettingsPage. Sets up client-side routing with MainRoutes and ProtectedRoute for navigation and access control. Adds API service modules (apiCall, authFiles, client, config, oauth, quota) for backend interaction. Implements Zustand stores (useAuthStore, useCliProxyStore, useConfigStore, useLanguageStore, useThemeStore) for global state management. Includes utility functions for connection, constants, language, privacy, and quota data processing. Integrates Tauri-specific services for desktop application features. Configures TypeScript and Vite for the frontend build process. To provide a comprehensive and interactive graphical user interface for the CLI Proxy application. To enable users to manage authentication, connect providers, monitor quota, and customize application settings. To establish a modular and maintainable frontend architecture that supports both web and desktop environments. To facilitate efficient and type-safe communication with the CLI Proxy API. To ensure consistent state management and user experience across the application.
1 parent 2dd8288 commit b1f72e3

149 files changed

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

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
[*]
7+
indent_style = space
8+
indent_size = 2
9+
end_of_line = lf
10+
charset = utf-8
11+
trim_trailing_whitespace = true
12+
insert_final_newline = true

.gitignore

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
!.vscode/settings.json
19+
.idea
20+
.DS_Store
21+
*.suo
22+
*.ntvs*
23+
*.njsproj
24+
*.sln
25+
*.sw?
26+
27+
#
28+
pnpm-lock.yaml
29+
Cargo.lock

.prettierignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
dist
2+
pnpm-lock.yaml
3+
auto-imports.d.ts
4+
components.d.ts
5+
typed-router.d.ts
6+
gen
7+
target

.prettierrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"plugins": ["prettier-plugin-tailwindcss"],
3+
"semi": false,
4+
"singleQuote": true
5+
}

README.md

Lines changed: 105 additions & 0 deletions

components.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"$schema": "https://ui.shadcn.com/schema.json",
3+
"style": "new-york",
4+
"rsc": false,
5+
"tsx": true,
6+
"tailwind": {
7+
"config": "",
8+
"css": "src/index.css",
9+
"baseColor": "neutral",
10+
"cssVariables": true,
11+
"prefix": ""
12+
},
13+
"iconLibrary": "lucide",
14+
"aliases": {
15+
"components": "@/components",
16+
"utils": "@/lib/utils",
17+
"ui": "@/components/ui",
18+
"lib": "@/lib",
19+
"hooks": "@/hooks"
20+
},
21+
"registries": {}
22+
}

docs/USAGE.md

Lines changed: 91 additions & 0 deletions

index.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!doctype html>
2+
<html lang="">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" href="/favicon.ico" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>ZeroLimit</title>
8+
</head>
9+
<body>
10+
<div id="root"></div>
11+
<script type="module" src="/src/main.tsx"></script>
12+
</body>
13+
</html>

package.json

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"name": "zero-limit",
3+
"version": "1.0.0",
4+
"private": true,
5+
"type": "module",
6+
"scripts": {
7+
"build": "tsc && vite build",
8+
"dev": "vite",
9+
"preview": "vite preview",
10+
"tauri": "tauri"
11+
},
12+
"dependencies": {
13+
"@radix-ui/react-alert-dialog": "^1.1.15",
14+
"@radix-ui/react-dialog": "^1.1.15",
15+
"@radix-ui/react-label": "^2.1.8",
16+
"@radix-ui/react-progress": "^1.1.8",
17+
"@radix-ui/react-slot": "^1.2.4",
18+
"@tailwindcss/vite": "^4.1.18",
19+
"@tauri-apps/api": "^2",
20+
"@tauri-apps/plugin-dialog": "^2.4.2",
21+
"@tauri-apps/plugin-opener": "^2.5.2",
22+
"@tauri-apps/plugin-process": "^2.3.1",
23+
"@tauri-apps/plugin-shell": "^2.3.3",
24+
"axios": "^1.13.2",
25+
"class-variance-authority": "^0.7.1",
26+
"clsx": "^2.1.1",
27+
"i18next": "^25.7.1",
28+
"lucide-react": "^0.562.0",
29+
"react": "^19.1.0",
30+
"react-dom": "^19.1.0",
31+
"react-i18next": "^16.4.0",
32+
"react-router-dom": "^7.10.1",
33+
"tailwind-merge": "^3.4.0",
34+
"tailwindcss": "^4.1.18",
35+
"zustand": "^5.0.9"
36+
},
37+
"devDependencies": {
38+
"@tauri-apps/cli": "^2",
39+
"@types/node": "^22.19.1",
40+
"@types/react": "^19.1.8",
41+
"@types/react-dom": "^19.1.6",
42+
"@vitejs/plugin-react": "^4.6.0",
43+
"babel-plugin-react-compiler": "^1.0.0",
44+
"prettier": "^3.7.4",
45+
"prettier-plugin-tailwindcss": "^0.7.2",
46+
"tw-animate-css": "^1.4.0",
47+
"typescript": "~5.8.3",
48+
"vite": "latest"
49+
},
50+
"packageManager": "pnpm@10.22.0",
51+
"engines": {
52+
"node": ">=20"
53+
}
54+
}

public/antigravity/antigravity.png

54.6 KB

0 commit comments

Comments
 (0)