Skip to content

Commit 82f7b5b

Browse files
authored
Merge pull request #1 from ai-dashboad/main
feat: visual pipeline builder + releases v0.3.1-v0.3.10
2 parents 6004127 + e90d371 commit 82f7b5b

655 files changed

Lines changed: 119236 additions & 916 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.

.claude/instructions.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# OpenCLI Project Rules
2+
3+
## Language Requirements
4+
5+
**All text in this project MUST be in English**, including:
6+
- Git commit messages
7+
- Code comments
8+
- Documentation files (docs/, test-results/, etc.)
9+
- Variable names and function names
10+
- Error messages and log output
11+
- README and other markdown files
12+
- Test reports and E2E test output
13+
- AI-generated content (reports, summaries, code comments)
14+
- UI strings in the Flutter app and Web UI
15+
16+
**No exceptions.** Even if the user writes in Chinese or another language, all code, documentation, and generated files MUST be written in English.
17+
18+
## Code Style
19+
20+
- Follow Dart style guide for daemon code
21+
- Follow Flutter style guide for mobile app
22+
- Use meaningful variable and function names
23+
- Add comments for complex logic
24+
25+
## Git Workflow
26+
27+
- Use conventional commits format: `type: description`
28+
- `feat:` new feature
29+
- `fix:` bug fix
30+
- `chore:` maintenance
31+
- `docs:` documentation
32+
- `refactor:` code refactoring
33+
- `test:` adding tests
34+
- Keep commits atomic and focused
35+
- Write clear, descriptive commit messages in English
36+
37+
## Project Structure
38+
39+
- `daemon/` - Dart backend daemon
40+
- `opencli_app/` - Flutter cross-platform app (iOS, Android, macOS, Windows, Linux)
41+
- `cli/` - Command line interface
42+
- `web-ui/` - Web interface
43+
- `scripts/` - Build and utility scripts
44+
- `capabilities/` - Capability package definitions
45+
- `docs/` - Documentation files
46+
- `plugins/` - MCP plugin implementations
47+
48+
## Releasing New Versions
49+
50+
To release a new version, **always use the release script**:
51+
52+
```bash
53+
./scripts/release.sh <version> "<description>"
54+
```
55+
56+
Examples:
57+
```bash
58+
./scripts/release.sh 0.3.0 "New domain system with 12 task domains"
59+
./scripts/release.sh 0.2.3 "Bug fixes for pattern matching"
60+
./scripts/release.sh 1.0.0 "First stable release"
61+
```
62+
63+
The script handles: version bump (via `scripts/bump_version.dart`), CHANGELOG update, git commit, annotated tag, and push. It also triggers GitHub Actions for builds.
64+
65+
**Never manually edit version numbers** — always use the release script.
66+
67+
## Documentation Guidelines
68+
69+
**All documentation markdown files MUST be created in the `docs/` folder**, including:
70+
- Feature documentation
71+
- User guides
72+
- Architecture documents
73+
- API documentation
74+
- Implementation notes
75+
76+
**Exceptions** (can be in project root):
77+
- `README.md` - Main project readme
78+
- `CHANGELOG.md` - Version history
79+
- `LICENSE` - License file
80+
- `CONTRIBUTING.md` - Contribution guidelines
81+
82+
**Examples:**
83+
-`docs/PLUGIN_SYSTEM.md` - Correct
84+
-`docs/QUICK_START.md` - Correct
85+
-`PLUGIN_SYSTEM.md` - Wrong (should be in docs/)
86+
-`QUICK_START.md` - Wrong (should be in docs/)

.claude/settings.local.json

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
{
2+
"attribution": {
3+
"commit": "",
4+
"pr": ""
5+
},
26
"permissions": {
37
"allow": [
8+
"Bash(*)",
49
"Bash(git:*)",
510
"Bash(gh:*)",
611
"Bash(flutter:*)",
@@ -46,7 +51,77 @@
4651
"Bash(lsof:*)",
4752
"Bash(git commit:*)",
4853
"Bash(git config:*)",
49-
"Bash(tree:*)"
54+
"Bash(tree:*)",
55+
"Bash(git checkout:*)",
56+
"Bash(git push:*)",
57+
"Bash(git merge:*)",
58+
"Bash(git stash:*)",
59+
"Bash(git log:*)",
60+
"WebFetch(domain:github.com)",
61+
"WebFetch(domain:raw.githubusercontent.com)",
62+
"WebFetch(domain:api.github.com)",
63+
"Bash(test:*)",
64+
"Bash(security find-identity:*)",
65+
"Bash(openssl rand:*)",
66+
"Bash(security import:*)",
67+
"Bash(openssl x509:*)",
68+
"Bash(openssl pkcs12:*)",
69+
"Bash(security find-certificate:*)",
70+
"Bash(openssl md5:*)",
71+
"Bash(openssl rsa:*)",
72+
"Bash(security cms:*)",
73+
"Bash(plutil:*)",
74+
"Bash(yamllint:*)",
75+
"WebSearch",
76+
"Bash(nc:*)",
77+
"Bash(xargs kill:*)",
78+
"Bash(./build.sh)",
79+
"Bash(open:*)",
80+
"Bash(screencapture:*)",
81+
"Bash(xcrun simctl:*)",
82+
"mcp__flutter-skill__connect_app",
83+
"mcp__flutter-skill__launch_app",
84+
"Bash(osascript:*)",
85+
"Bash(pip3 install:*)",
86+
"Bash(brew install:*)",
87+
"Bash(pipx ensurepath:*)",
88+
"Bash(pipx install:*)",
89+
"Bash(whisper --help:*)",
90+
"Bash(whisper:*)",
91+
"Bash(/Users/cw/development/opencli/scripts/verify_ios_connection.sh:*)",
92+
"Bash(say -v \"Ting-Ting\" \"你好,我是OpenCLI助手。请帮我截个屏,然后打开百度搜索人工智能。\" -o test_audio.aiff --data-format=LEF32@22050)",
93+
"Bash(say -v \"Ting-Ting\" \"你好,我是OpenCLI助手。请帮我截个屏。\" -o test_audio.aiff)",
94+
"Bash(./build_enhanced.sh:*)",
95+
"Bash(brew services:*)",
96+
"Bash(ollama list:*)",
97+
"Bash(ollama pull:*)",
98+
"Bash(ollama run:*)",
99+
"Bash(websocat:*)",
100+
"WebFetch(domain:humid-team-14068564.figma.site)",
101+
"mcp__flutter-skill__inspect",
102+
"mcp__flutter-skill__get_text_content",
103+
"mcp__flutter-skill__hot_reload",
104+
"mcp__flutter-skill__enter_text",
105+
"mcp__flutter-skill__tap",
106+
"mcp__flutter-skill__screenshot",
107+
"mcp__flutter-skill__wait_for_element",
108+
"Bash(FILTER_BRANCH_SQUELCH_WARNING=1 git filter-branch:*)",
109+
"WebFetch(domain:opencli.ai)",
110+
"Bash(wc:*)",
111+
"Bash(./scripts/test-integration.sh:*)",
112+
"Bash(./scripts/test-all-clients.sh:*)",
113+
"Bash(log show:*)",
114+
"mcp__jetbrains__get_run_configurations",
115+
"WebFetch(domain:pub.dev)",
116+
"Bash(./test_daemon_startup.sh)",
117+
"Bash(adb:*)",
118+
"Bash(pwdx:*)",
119+
"Bash(opencli daemon stop:*)",
120+
"Bash(sleep:*)",
121+
"Bash(timeout:*)",
122+
"Bash(head:*)",
123+
"Bash(tail:*)",
124+
"Bash(xargs:*)"
50125
]
51126
}
52127
}

.daemon

2.52 MB
Binary file not shown.

.dockerignore

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Git
2+
.git/
3+
.gitignore
4+
.gitattributes
5+
6+
# Documentation
7+
*.md
8+
docs/
9+
LICENSE
10+
11+
# IDE
12+
.vscode/
13+
.idea/
14+
*.swp
15+
*.swo
16+
*~
17+
18+
# Build artifacts
19+
target/
20+
cli/target/
21+
daemon/.dart_tool/
22+
daemon/build/
23+
*.o
24+
*.so
25+
*.dylib
26+
*.dll
27+
*.exe
28+
29+
# Dependencies
30+
node_modules/
31+
.pub-cache/
32+
33+
# Test
34+
tests/
35+
test/
36+
*.test
37+
coverage/
38+
39+
# CI/CD
40+
.github/
41+
.gitlab-ci.yml
42+
.travis.yml
43+
44+
# Config
45+
config/config.yaml
46+
config/*.local.yaml
47+
*.env
48+
*.env.*
49+
50+
# Temporary files
51+
tmp/
52+
temp/
53+
*.tmp
54+
*.log
55+
*.pid
56+
57+
# macOS
58+
.DS_Store
59+
60+
# Mobile
61+
mobile/
62+
*.apk
63+
*.ipa
64+
65+
# Web UI
66+
web-ui/node_modules/
67+
web-ui/dist/
68+
web-ui/build/
69+
70+
# Plugins
71+
plugins/
72+
73+
# Scripts
74+
scripts/
75+
*.sh

0 commit comments

Comments
 (0)