1- # Agentlint
1+ # Toolint
22
33** Structural linter for MCP-compatible, zero-dependency Python agent tool packages.**
44
5- ` agentlint ` enforces architectural rules that ensure your Python package works correctly as:
5+ ` toolint ` enforces architectural rules that ensure your Python package works correctly as:
66- A ** standalone library** (` from my_tool import MyTool ` )
77- A ** CLI tool** (` my-tool search "query" ` )
88- An ** MCP server** (` my-tool serve --source spec.json ` )
@@ -22,37 +22,37 @@ Building agent-compatible tools is easy to get wrong:
2222| Tool function has no docstring | LLM can't understand what the tool does |
2323| Optional dep not in ` extras ` | ` pip install my-tool[mcp] ` doesn't install MCP SDK |
2424
25- ` agentlint ` catches all of these ** before** they reach users.
25+ ` toolint ` catches all of these ** before** they reach users.
2626
2727## Installation
2828
2929``` bash
30- pip install agentlint
30+ pip install toolint
3131
3232# or with uv
33- uv pip install agentlint
33+ uv pip install toolint
3434
3535# or as a tool
36- uvx agentlint check .
36+ uvx toolint check .
3737```
3838
3939## Quick Start
4040
4141``` bash
4242# Lint current project
43- agentlint check .
43+ toolint check .
4444
4545# Lint with specific rules only
46- agentlint check . --select ATL101,ATL102
46+ toolint check . --select ATL101,ATL102
4747
4848# Ignore specific rules
49- agentlint check . --ignore ATL105
49+ toolint check . --ignore ATL105
5050
5151# JSON output (for CI integration)
52- agentlint check . --format json
52+ toolint check . --format json
5353
5454# Show all available rules
55- agentlint rules
55+ toolint rules
5656```
5757
5858## Example Output
@@ -134,7 +134,7 @@ my_tool/mcp_server.py:42:8 ATL503 (error)
134134Add to ` pyproject.toml ` :
135135
136136``` toml
137- [tool .agentlint ]
137+ [tool .toolint ]
138138# Package root (auto-detected from pyproject.toml)
139139package = " my_tool"
140140
@@ -154,7 +154,7 @@ core_allowed_imports = []
154154ignore = [" ATL105" ]
155155```
156156
157- Or use a standalone file ` .agentlint .toml ` with the same structure (without the ` [tool.agentlint ] ` nesting).
157+ Or use a standalone file ` .toolint .toml ` with the same structure (without the ` [tool.toolint ] ` nesting).
158158
159159## The Architecture This Enforces
160160
@@ -184,32 +184,32 @@ my_package/
184184
185185``` yaml
186186- name : Lint agent tool structure
187- run : uvx agentlint check .
187+ run : uvx toolint check .
188188` ` `
189189
190190### Pre-commit
191191
192192` ` ` yaml
193193repos :
194- - repo : https://github.com/PlateerLab/agentlint
194+ - repo : https://github.com/PlateerLab/toolint
195195 rev : v0.1.0
196196 hooks :
197- - id : agentlint
197+ - id : toolint
198198` ` `
199199
200200## Technical Details
201201
202202- **Python 3.10+**
203203- **Zero dependencies** — uses only ` ast` and `tomllib` from stdlib
204204- **Fast** — AST parsing, no runtime imports of the target package
205- - **Self-validating** — `agentlint ` follows the same architecture it enforces
205+ - **Self-validating** — `toolint ` follows the same architecture it enforces
206206
207207# # License
208208
209209MIT
210210
211211# # Links
212212
213- - [GitHub](https://github.com/PlateerLab/agentlint )
214- - [PyPI](https://pypi.org/project/agentlint /) (coming soon)
213+ - [GitHub](https://github.com/PlateerLab/toolint )
214+ - [PyPI](https://pypi.org/project/toolint /) (coming soon)
215215- [graph-tool-call](https://github.com/SonAIengine/graph-tool-call) — the reference implementation this linter is based on
0 commit comments