Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 10 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,15 @@ jobs:
with:
fetch-depth: 0

- uses: actions/setup-python@v5
- uses: astral-sh/setup-uv@v6
with:
python-version: "3.12"
cache: pip
enable-cache: true

- name: Install dependencies
run: |
pip install -r requirements.txt
pip install pytest pytest-asyncio pytest-cov ruff
pip install -e . --no-deps
run: uv sync --frozen --extra dev

- name: Run tests
run: pytest -p no:cacheprovider -o addopts="" tests/ -q
run: uv run pytest -p no:cacheprovider -o addopts="" tests/ -q

lint:
name: Lint
Expand All @@ -42,12 +38,12 @@ jobs:
with:
fetch-depth: 0

- uses: actions/setup-python@v5
- uses: astral-sh/setup-uv@v6
with:
python-version: "3.12"
enable-cache: true

- name: Install ruff
run: pip install ruff
- name: Install dependencies
run: uv sync --frozen --extra dev

- name: Collect changed Python files
env:
Expand All @@ -66,10 +62,10 @@ jobs:

- name: Ruff check changed files
run: |
xargs -0 -r ruff check --output-format=github \
xargs -0 -r uv run ruff check --output-format=github \
< "$RUNNER_TEMP/changed-python-files"

- name: Ruff format check changed files
run: |
xargs -0 -r ruff format --check \
xargs -0 -r uv run ruff format --check \
< "$RUNNER_TEMP/changed-python-files"
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ MANIFEST
htmlcov/
.tox/
.hypothesis/
tests/*
!tests/test_gitignore_filtering.py
!tests/test_module_tree_validation.py
!tests/test_latest_compat.py

# Jupyter
*.ipynb
Expand Down
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.12
19 changes: 9 additions & 10 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,8 @@ codewiki/
├── paper/ # Research paper source
├── tests/ # Test suite
├── output/ # Generated documentation output
├── pyproject.toml # Project metadata
├── requirements.txt # Python dependencies
└── README.md # Main documentation
├── pyproject.toml # Project metadata + dependencies
└── README.md # Main documentation
```

## Development Setup
Expand All @@ -59,15 +58,15 @@ codewiki/
git clone https://github.com/FSoft-AI4Code/CodeWiki.git
cd CodeWiki

# Create virtual environment
python3.12 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install uv (if not already installed)
# curl -LsSf https://astral.sh/uv/install.sh | sh

# Install in development mode
pip install -e .
# Create virtual environment and install dependencies (reads .python-version)
uv sync --extra dev
source .venv/bin/activate # On Windows: .venv\Scripts\activate

# Install development dependencies
pip install -r requirements.txt
# Run the test suite
uv run pytest
```

## Core Components
Expand Down
6 changes: 3 additions & 3 deletions IDE_DRIVEN_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,10 @@ git clone https://github.com/FSoft-AI4Code/CodeWiki.git
cd CodeWiki

# 2. Install dependencies
pip install -e .
uv sync --extra dev

# 3. Verify
python -c "from codewiki.mcp.server import server; print('MCP Server OK')"
uv run python -c "from codewiki.mcp.server import server; print('MCP Server OK')"
```

### CodeBuddy Configuration
Expand Down Expand Up @@ -359,7 +359,7 @@ See the Quick Start section in [README.md](README.md) for details.
## FAQ

**Q: MCP Server fails to start with missing dependencies?**
A: Make sure you have run `pip install -e .` to install CodeWiki and its dependencies. The MCP Server no longer requires CLI-specific packages like `keyring` or `click`.
A: Make sure you have run `uv sync --extra dev` to install CodeWiki and its dependencies. The MCP Server no longer requires CLI-specific packages like `keyring` or `click`.

**Q: analyze_repo is slow?**
A: Tree-sitter parsing for large repositories (>100K lines) takes some time, usually completing within 30 seconds. Use `include_patterns` / `exclude_patterns` to narrow the analysis scope. There are no component count or source code length truncation limits.
Expand Down
Loading
Loading