Skip to content

Commit 3f2d9a8

Browse files
keyp-devclaude
andcommitted
feat: Surge TUI - macOS Surge proxy management terminal interface
Complete terminal user interface with Surge proxy management and real-time monitoring. ## Core Features **Multi-Language Support** - Compile-time language selection (zh-cn/en-us) - Zero runtime overhead with Translate trait - Full UI translation coverage **Real-Time Monitoring** - 5 main views: Overview/Policies/Requests/Connections/DNS - Non-blocking policy latency testing - Request history and active connections - DNS cache management **Search and Grouping** - Independent search modes (policy groups/requests/connections) - Group by application name display - Real-time filtering and highlighting **Connection Management** - Terminate individual connections (k key + confirmation) - Feature toggles (outbound mode/MITM/traffic capture) - Refresh strategy to avoid status delays **Enhanced Request Details** - Notes syntax highlighting (7 types of tags) - HTTP Body markers - Connection log display **Help and Notifications** - Built-in help popup (h key) - Smart notification system - Developer tools (DevTools) ## Architecture Design **Clean Architecture Layering** - Domain - Core business logic (zero dependencies) - Infrastructure - HTTP/CLI/System clients - Application - Business coordination layer - UI - Ratatui TUI components **Fallback Strategy** - HTTP API → surge-cli → System commands - Alert mechanism (no automatic config modification) ## Internationalization **Documentation** - English as default language - Chinese version in README.zh-CN.md - All docs/ and .claude/rules/ in English - All code comments in English ## Tech Stack - Rust + Tokio (async) - Ratatui (terminal UI) - Reqwest (HTTP client) - Serde (serialization) Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com>
0 parents  commit 3f2d9a8

55 files changed

Lines changed: 16662 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/rules/README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Claude Rules - surge-tui Project Guidelines
2+
3+
These rule documents are automatically loaded into Claude Code's context to guide code generation and modifications.
4+
5+
## Rule Documents
6+
7+
1. **[project-structure.md](project-structure.md)** - Project structure and layering rules
8+
- Clean Architecture layering
9+
- Dependency direction rules
10+
- Guide for adding new features
11+
12+
2. **[i18n.md](i18n.md)** - Internationalization guidelines
13+
- Compile-time language selection
14+
- Translate trait usage
15+
- Adding new language workflow
16+
17+
3. **[code-style.md](code-style.md)** - Code style guidelines
18+
- SOLID principles application
19+
- Rust best practices
20+
- Error handling, comments, testing
21+
22+
4. **[commit-convention.md](commit-convention.md)** - Commit conventions
23+
- Conventional Commits format
24+
- Type, Scope, Subject rules
25+
- Real-world examples
26+
27+
## Auto-loading
28+
29+
These rules are automatically loaded in the following situations:
30+
31+
- **Global loading** - README.md (this file)
32+
- **By file type** - When editing related files
33+
- `.rs` files → code-style.md
34+
- `i18n/` directory → i18n.md
35+
- Any Rust file → project-structure.md
36+
- Git commit → commit-convention.md
37+
38+
See [Claude Code documentation](https://code.claude.com/docs/en/memory#modular-rules-with-claude%2Frules%2F).
39+
40+
## Updating Rules
41+
42+
After modifying rule documents, Claude Code will automatically load the new version in the next session. No restart needed.
43+
44+
---
45+
46+
*"The only way to go fast is to go well."* — Robert C. Martin

0 commit comments

Comments
 (0)