chore: initialize sandbox and overwrite remote content
Some checks failed
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_en (ubuntu-latest, 3.10) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_zh (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.12) (push) Has been cancelled
Some checks failed
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_en (ubuntu-latest, 3.10) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_zh (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.12) (push) Has been cancelled
This commit is contained in:
96
.github/copilot-instructions.md
vendored
Normal file
96
.github/copilot-instructions.md
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
# AgentScope Code Review Guide
|
||||
|
||||
You should conduct a strict code review. Each requirement is labeled with priority:
|
||||
- **[MUST]** must be satisfied or PR will be rejected
|
||||
- **[SHOULD]** strongly recommended
|
||||
- **[MAY]** optional suggestion
|
||||
|
||||
## 1. Code Quality
|
||||
|
||||
### [MUST] Lazy Loading
|
||||
- Third-party library dependencies should be imported at the point of use, avoid centralized imports at file top
|
||||
- The `Third-party library` refers to libraries not included in the `dependencies` variable in `pyproject.toml`.
|
||||
- For base class imports, use factory pattern:
|
||||
```python
|
||||
def get_xxx_cls() -> "MyClass":
|
||||
from xxx import BaseClass
|
||||
class MyClass(BaseClass): ...
|
||||
return MyClass
|
||||
```
|
||||
|
||||
### [SHOULD] Code Conciseness
|
||||
After understanding the code intent, check if it can be optimized:
|
||||
- Avoid unnecessary temporary variables
|
||||
- Merge duplicate code blocks
|
||||
- Prioritize reusing existing utility functions
|
||||
|
||||
### [MUST] Encapsulation Standards
|
||||
- All Python files under `src/agentscope` should be named with `_` prefix, and exposure controlled through `__init__.py`
|
||||
- Classes and functions used internally by the framework that don't need to be exposed to users must be named with `_` prefix
|
||||
|
||||
## 2. [MUST] Code Security
|
||||
- Prohibit hardcoding API keys/tokens/passwords
|
||||
- Use environment variables or configuration files for management
|
||||
- Check for debug information and temporary credentials
|
||||
- Check for injection attack risks (SQL/command/code injection, etc.)
|
||||
|
||||
## 3. [MUST] Testing & Dependencies
|
||||
- New features must include unit tests
|
||||
- New dependencies need to be added to the corresponding section in `pyproject.toml`
|
||||
- Dependencies for non-core scenarios should not be added to the minimal dependency list
|
||||
|
||||
## 4. Code Standards
|
||||
|
||||
### [MUST] Comment Standards
|
||||
- **Use English**
|
||||
- All classes/methods must have complete docstrings, strictly following the template:
|
||||
```python
|
||||
def func(a: str, b: int | None = None) -> str:
|
||||
"""{description}
|
||||
|
||||
Args:
|
||||
a (`str`):
|
||||
The argument a
|
||||
b (`int | None`, optional):
|
||||
The argument b
|
||||
|
||||
Returns:
|
||||
`str`:
|
||||
The return str
|
||||
"""
|
||||
```
|
||||
- Use reStructuredText syntax for special content:
|
||||
```python
|
||||
class MyClass:
|
||||
"""xxx
|
||||
|
||||
`Example link <https://xxx>`_
|
||||
|
||||
.. note:: Example note
|
||||
|
||||
.. tip:: Example tip
|
||||
|
||||
.. important:: Example important info
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
def hello_world():
|
||||
print("Hello world!")
|
||||
|
||||
"""
|
||||
```
|
||||
|
||||
### [MUST] Pre-commit Checks
|
||||
- **Strict review**: In most cases, code should be modified rather than skipping checks
|
||||
- **File-level check skipping is prohibited**
|
||||
- Only allowed skip: agent class system prompt parameters (to avoid `\n` formatting issues)
|
||||
|
||||
---
|
||||
|
||||
## 5. Git Standards
|
||||
|
||||
### [MUST] PR Title
|
||||
- Follow Conventional Commits
|
||||
- Must use prefixes: `feat/fix/docs/ci/refactor/test`, etc.
|
||||
- Format: `feat(scope): description`
|
||||
- Example: `feat(memory): add redis cache support`
|
||||
Reference in New Issue
Block a user