An open-source tool that leverages AI agents to enhance the quality of your codebase by scanning repositories for grammar, spelling, and code example errors in documentation files.
Project description
AI spelling and grammar checker for documentation
🐦 Twitter • 📢 Discord • 🖇️ AgentOps
Spellcaster is an open-source CLI tool that uses AI to improve your codebase's documentation. It scans repositories for:
- Grammar errors
- Spelling mistakes
- Issues in code examples
Spellcaster helps identify potential problems to help you write clear, concise, and professional documentation.
https://github.com/user-attachments/assets/60dbfdb1-d5a6-4dfd-9707-37e60d60b24e
To run Spellcaster:
pip install spellcaster
spellcaster -d /path/to/your/docs/directory/
🦉 Features
- Grammar and Spelling Checks: Spellcaster reviews your documentation and comments to ensure they are clear, correct, and professional.
- Comprehensive File Scanning: Spellcaster reads across multiple file formats (Markdown, plain text, etc.) to detect issues.
Installation
-
Install package:
pip install spellcaster
-
Set up environment variables:
Create a
.env
file in your project root and add the following variables:AGENTOPS_API_KEY=your_agentops_api_key ANTHROPIC_API_KEY=your_anthropic_api_key OPENAI_API_KEY=your_openai_api_key GROQ_API_KEY=your_groq_api_key
Spellcaster uses AgentOps for cost and latency tracking. You can sign up for an API key here.
Replace your_*_api_key
with your actual API keys for each service.
Usage
To run Spellcaster:
-
In your terminal, use the following command structure:
spellcaster [options]
Options:
-d
,--directory
: The directory to scan-u
,--url
: The GitHub repository URL to clone and scan-l
,--llm_provider
: The LLM provider to use (choices: claude, sonnet, 3.5, gpt4o, gpt4, gpt3.5; default: MODEL from config)-p
,--proper_nouns
: A string of proper nouns to include in the prompt (default: "* Llama3.1-70B\n* Cerebras\n* Cohere\n* OpenAI\n* AgentOps\n* Spellcaster")-f
,--file_types
: File types to scan (default: from FILE_TYPES in config)-m
,--max_files
: Maximum number of files to scan (default: MAX_FILES from config)
-
Examples:
Scan a local directory with custom LLM provider:
spellcaster --directory /path/to/your/docs --llm_provider gpt4
Scan a GitHub repository:
spellcaster --url https://github.com/username/repo
-
Spellcaster will analyze the specified directory or repository and output any detected issues, along with suggestions for fixing them.
Configuration
You can customize Spellcaster's behavior by adjusting the config.py
file:
FILE_TYPES
: A list of file extensions to scan. By default, it includes.mdx
and.md
files. You can add or remove file extensions as needed.MAX_FILES
: The maximum number of files to scan. By default, it's set to 500. You can change this number to suit your needs.MODEL
: The default LLM provider to use. Model list available here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file spellcaster-0.0.7.tar.gz
.
File metadata
- Download URL: spellcaster-0.0.7.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 927668dae8fa8aed4feb32578dedadb6924598eae2450e9d2bea6a63bd676b54 |
|
MD5 | bf840879f3a418c09f294af866ad8b97 |
|
BLAKE2b-256 | 1c5b22a19d1b6360fa80b18070feddd96626801132361357c28d216f8b8ff800 |
File details
Details for the file spellcaster-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: spellcaster-0.0.7-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 104d0e5df2296a171350d0903b4f20204eec5eaf74a915e8ffd272bdbbac7062 |
|
MD5 | dbe8ca3e4ce55a63bddac21c9dee9f92 |
|
BLAKE2b-256 | 4742c3064ddd4401330a4222d9ff0c5602894e1d706a4ec7df979b8838a798d9 |