Skip to main content

Spellcaster Logo

AI spelling and grammar checker for documentation

🐦 Twitter   •   📢 Discord   •   🖇️ AgentOps

Python 3.10+ License: MIT

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/

Screenshot

🦉 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

  1. Install package:

    pip install spellcaster
    
  2. 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:

  1. 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)
  2. 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
    
  3. 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.

Release files for spellcaster 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spellcaster 0.0.7
File Size Uploaded
spellcaster-0.0.7.tar.gz 11.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spellcaster 0.0.7
File Interpreter ABI Platform
spellcaster-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 21.7 kB

Release files / spellcaster-0.0.7.tar.gz

Download URL spellcaster-0.0.7.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
927668dae8fa8aed4feb32578dedadb6924598eae2450e9d2bea6a63bd676b54
BLAKE2b-256 checksum
How to use checksums
1c5b22a19d1b6360fa80b18070feddd96626801132361357c28d216f8b8ff800
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / spellcaster-0.0.7-py3-none-any.whl

Download URL spellcaster-0.0.7-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
104d0e5df2296a171350d0903b4f20204eec5eaf74a915e8ffd272bdbbac7062
BLAKE2b-256 checksum
How to use checksums
4742c3064ddd4401330a4222d9ff0c5602894e1d706a4ec7df979b8838a798d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page