Skip to content

Commit 20bb468

Browse files
author
James Zhu
committed
Adding more features
1 parent 2e7de03 commit 20bb468

564 files changed

Lines changed: 129313 additions & 1071 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/settings.local.json

Lines changed: 55 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,60 @@
11
{
22
"permissions": {
33
"allow": [
4-
"Bash(python3 -m pyflakes:*)",
5-
"Bash(bash -lc:*)"
4+
"Bash(code-assistant-manager mcp claude list:*)",
5+
"Bash(code-assistant-manager mcp codex list:*)",
6+
"Bash(code-assistant-manager mcp droid list:*)",
7+
"Bash(code-assistant-manager mcp server list:*)",
8+
"Bash(code-assistant-manager mcp server search memory:*)",
9+
"Bash(code-assistant-manager mcp server info memory:*)",
10+
"Bash(code-assistant-manager mcp:*)",
11+
"Bash(python3:*)",
12+
"Read(//home/jzhu/**)",
13+
"Bash(python -m code_assistant_manager.mcp.server_commands:*)",
14+
"Bash(python -m code_assistant_manager:*)",
15+
"Bash(cat:*)",
16+
"Bash(python:*)",
17+
"Bash(fuck-u-code:*)",
18+
"Bash(./tests/test_mcp_memory.sh)",
19+
"Bash(find:*)",
20+
"Bash(pip install:*)",
21+
"Bash(cam:*)",
22+
"Bash(code-assistant-manager:*)",
23+
"Bash(timeout:*)",
24+
"Bash(chmod:*)",
25+
"Bash(source:*)",
26+
"Bash(pytest:*)",
27+
"mcp__memory__create_entities",
28+
"mcp__memory__read_graph",
29+
"mcp__memory__create_relations",
30+
"mcp__memory__search_nodes",
31+
"Bash(ag:*)",
32+
"WebSearch",
33+
"WebFetch(domain:github.com)",
34+
"WebFetch(domain:raw.githubusercontent.com)",
35+
"mcp__microsoft-learn__microsoft_docs_search",
36+
"Read(//tmp/**)",
37+
"mcp__microsoft-learn__microsoft_docs_fetch",
38+
"mcp__serena__list_dir",
39+
"mcp__serena__onboarding",
40+
"mcp__serena__read_file",
41+
"mcp__serena__search_for_pattern",
42+
"mcp__serena__get_symbols_overview",
43+
"mcp__serena__find_symbol",
44+
"mcp__serena__find_file",
45+
"mcp__serena__execute_shell_command",
46+
"mcp__serena__activate_project",
47+
"mcp__serena__replace_regex",
48+
"mcp__serena__create_text_file"
649
],
7-
"deny": [],
8-
"ask": []
9-
}
50+
"additionalDirectories": [
51+
"/home/jzhu/projects/repos/mcpm.sh",
52+
"/home/jzhu/mcpm.sh"
53+
]
54+
},
55+
"outputStyle": "Explanatory",
56+
"enabledMcpjsonServers": [
57+
"serena"
58+
],
59+
"enableAllProjectMcpServers": true
1060
}

.env.example

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
1-
# Example environment variables for ai-toolboxx
1+
# Example environment variables for code-assistant-manager
22
# Copy this file to .env and fill in your secrets. Do NOT commit .env with real keys.
33
# Example:
44
# API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
55

66
# API key used by endpoints' list_models commands
77
# You can provide per-endpoint keys. If a per-endpoint key is set it will be used;
88
# otherwise `API_KEY` will be used as a fallback.
9-
API_KEY=
9+
# API_KEY=
1010

1111
# Per-endpoint API keys (optional)
12-
API_KEY_LITELLM=
13-
API_KEY_COPILOT=
12+
API_KEY_LITELLM=sk-***
13+
API_KEY_COPILOT=sk-***
14+
15+
GITHUB_TOKEN=ghu_c***
16+
17+
# gemini api key auth
18+
GEMINI_API_KEY=AI***
19+
20+
# vertex api auth
21+
GOOGLE_APPLICATION_CREDENTIALS=~/.config/gcloud/*****
22+
GOOGLE_CLOUD_PROJECT=****
23+
GOOGLE_CLOUD_LOCATION=global
24+
GOOGLE_GENAI_USE_VERTEXAI="true"

.gitignore

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,16 @@
22
.env.local
33
# token files
44
*token*
5-
.serena
6-
endpoints.conf
5+
.qwen
6+
settings.conf
7+
test_*.sh
8+
*_test.sh
9+
*__pycache__*
10+
.serena/
11+
build
12+
*egg-info*
13+
.neovate
14+
*.log
15+
dist
16+
.crush/
17+
.mcp.json

.neovate/config.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"mcpServers": {
3+
"context7": {
4+
"type": "stdio",
5+
"command": "npx",
6+
"args": []
7+
},
8+
"memory": {
9+
"type": "stdio",
10+
"command": "npx",
11+
"args": []
12+
},
13+
"sequential-thinking": {
14+
"type": "stdio",
15+
"command": "npx",
16+
"args": []
17+
},
18+
"serena": {
19+
"type": "stdio",
20+
"command": "uvx",
21+
"args": [
22+
"serena",
23+
"start-mcp-server"
24+
]
25+
}
26+
}
27+
}

CLAUDE.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# CLAUDE.md — Repository guidelines for AI-assisted edits
2+
3+
This file documents repository-level expectations and instructions intended to guide contributors and AI-assisted editing tools (like Claude Code) when making changes in this project.
4+
5+
## High-level rules
6+
7+
1. Any changes must be reviewed and approved before being merged, pushed to protected branches (e.g. main), or considered final.
8+
2. When introducing changes or adding features, create automated tests that cover the new behavior and run relevant test suites locally and in CI to avoid regressions.
9+
10+
## Branching & commits
11+
12+
- Use feature branches (feature/..., fix/..., chore/...) for all work. Do not commit directly to protected branches.
13+
- Keep commits small and focused. Each commit should represent a single logical change and have a descriptive message explaining why the change was made.
14+
- Annotate AI-assisted changes in the commit message, e.g. include: "Co-Authored-By: Claude <noreply@anthropic.com>" or a short note like "AI-assisted edit".
15+
16+
## Pull requests & code review
17+
18+
- Open a Pull Request (PR) for any non-trivial change. PRs must include:
19+
- A short summary of the change
20+
- Test plan and evidence that tests were run
21+
- Any relevant screenshots or logs for UI/behavior changes
22+
- At least one human reviewer must approve the PR before merging. Enable branch protection rules to require approvals.
23+
- Use a PR template where useful to ensure consistent information is provided.
24+
25+
## Tests & CI
26+
27+
- New features and bug fixes must include tests (unit/integration/end-to-end as appropriate).
28+
- Run the full project test suite locally before opening a PR. Fix flakiness or annotate tests that are inherently flaky with a TODO and create a follow-up issue.
29+
- CI must run linting, type checks, and the test suite. CI failures are blocking — do not merge until CI is green.
30+
31+
## Quality & safety checks
32+
33+
- Run linters and formatters (pre-commit hooks) locally. Add or update pre-commit configuration as necessary.
34+
- Do not commit secrets, credentials, or private keys. Use a secrets manager for sensitive configuration.
35+
- Keep third-party dependencies up to date and run dependency scanning tools in CI.
36+
- Add security checks (SAST/DAST) in CI where feasible.
37+
38+
## Using AI editor tools (vibe coding) — suggestions and precautions
39+
40+
When using AI-assisted editing ("vibe coding") in this repository, follow these extra precautions to keep the codebase healthy and maintainable:
41+
42+
- Trust, but verify: Treat AI edits as a helpful draft. Always review the generated changes line-by-line before committing.
43+
- Limit scope per edit: Ask the AI/editor to make small, focused edits rather than large sweeping refactors in a single change.
44+
- Run tests and linters after every AI-assisted change. If a change touches behavior, add or update tests to cover it.
45+
- Prefer explicit guidance: When asking the AI to edit code, provide the exact files, functions, and desired behavior to avoid unintended edits.
46+
- Annotate AI-generated code: Add a short comment near non-trivial generated logic explaining intent and that it was AI-assisted. This makes reviews easier.
47+
- Keep humans in the loop: Require a human approval step before push/merge; do not allow automated approvals of AI-only changes.
48+
- Add TODOs for follow-ups: If an AI change is exploratory, mark it with clear TODOs and create follow-up issues for human cleanup or optimization.
49+
50+
## Developer workflow checklist (what to do before merging)
51+
52+
1. Confirm the change is on a feature branch and limited in scope.
53+
2. Run linters, type-checkers, and the full test suite locally.
54+
3. Push the branch and open a PR with a clear description and test plan.
55+
4. Request reviewers and wait for human approval. Address review comments.
56+
5. Ensure CI passes all jobs (lint, test, security checks).
57+
6. Merge only after approvals and CI green. Squash or rebase commits as agreed by the team.
58+
59+
## Repository housekeeping and automation ideas
60+
61+
- Add a CODEOWNERS file to route reviews to the right maintainers.
62+
- Configure branch protection rules (require PRs, require CI, require approval, prevent force pushes).
63+
- Add pre-commit hooks to enforce linting/formatting and basic static checks.
64+
- Add CI jobs for test coverage, dependency scanning, and security scanning.
65+
- Encourage small, frequent PRs to reduce review fatigue and make AI-assisted changes easier to audit.
66+
67+
## Communication & documentation
68+
69+
- Update README and any relevant docs when adding features or changing APIs.
70+
- Use changelogs for user-facing changes and notable internal refactors.
71+
- Document any non-obvious design decisions in code comments or design notes.
72+
73+
---
74+
75+
If you are an AI-assisted tool editing this repository, treat this file as the authoritative guideline for how to structure edits, tests, commit messages, and PRs. Human verification and tests are required before any change is considered final.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Dependency Updates and Type Hint Improvements
2+
3+
## Summary of Changes
4+
5+
This commit includes two major improvements to the codebase:
6+
7+
### 1. Dependency Updates
8+
- Updated all dependencies to newer versions in `requirements.txt`, `pyproject.toml`, and `setup.py`
9+
- Added `typing-extensions` and `httpx` for better type hinting and async support
10+
- Added development dependencies for testing
11+
- Increased minimum Python version from 3.8 to 3.9
12+
13+
### 2. Type Hint Improvements
14+
Added comprehensive type hints to key modules:
15+
- **config.py**: Added type annotations for class attributes and method return types
16+
- **endpoints.py**: Added type annotations for class attributes
17+
- **tools/base.py**: Added type annotations for class attributes and improved typing imports
18+
- **cli.py**: Added additional typing imports and improved function signatures
19+
- **factory.py**: Improved generic type annotations
20+
- **menu/base.py**: Added type annotations for class attributes
21+
- **menu/menus.py**: Added additional typing imports
22+
23+
## Benefits
24+
1. **Better IDE Support**: Enhanced autocompletion and error detection
25+
2. **Improved Code Maintainability**: Clearer function signatures and variable types
26+
3. **Enhanced Documentation**: Type hints serve as inline documentation
27+
4. **Reduced Runtime Errors**: Better static analysis can catch type-related issues
28+
5. **Modern Python Practices**: Using up-to-date libraries and language features
29+
30+
## Compatibility
31+
- All imports and functionality remain compatible
32+
- No breaking changes to the public API
33+
- Package still imports and runs correctly
34+
- CLI interface works as expected
35+
- All tests pass
36+
37+
## Files Modified
38+
1. `requirements.txt` - Updated dependencies
39+
2. `pyproject.toml` - Updated dependencies and metadata
40+
3. `setup.py` - Updated dependencies and metadata
41+
4. `code_assistant_manager/config.py` - Added type hints
42+
5. `code_assistant_manager/endpoints.py` - Added type hints
43+
6. `code_assistant_manager/tools/base.py` - Added type hints
44+
7. `code_assistant_manager/cli.py` - Added type hints
45+
8. `code_assistant_manager/factory.py` - Added type hints
46+
9. `code_assistant_manager/menu/base.py` - Added type hints
47+
10. `code_assistant_manager/menu/menus.py` - Added type hints

0 commit comments

Comments
 (0)