Skip to content

ehmiiz/SpellWell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpellWell

SpellWell is a CLI application which allows you to practice spelling using your own wordlist directly in your terminal.

To combat the problem of forgetting how to spell words because of autocomplete features in text editors, the spellwell CLI allows you to add words to your own wordlist and practice spelling them by having them blanked out in example sentences.

SpellWell comes with the non-feature of being completely free of AI usage and it's ran locally on your own machine. It's free and open source (MIT license).

It's therefore important that you add the correct spelled words to your wordlist.

Quick Start

# Install
pipx install spellwell

# Add a tricky word
spellwell add accommodate --sentence "I can accommodate up to five people."

# Add more words interactively
spellwell add

# Practice your spelling
spellwell practice

# View your progress
spellwell stats

Installation

Recommended: Install with pipx (isolated environment)

# Install pipx if you don't have it already
python -m pip install --user pipx
python -m pipx ensurepath

# Install SpellWell
pipx install spellwell

Alternatively, install directly with pip:

# Check if pip is installed
python -m pip --version || echo "Pip is not installed"

# Install pip if not available
# For Linux/macOS
command -v pip >/dev/null 2>&1 || python -m ensurepip --upgrade

# For Windows (run in PowerShell)
# if (-not (Get-Command pip -ErrorAction SilentlyContinue)) { python -m ensurepip --upgrade }

# Install SpellWell
pip install spellwell

After installation, you can use the spellwell command directly from your terminal.

Features

  • Add words to your own wordlist with optional example sentences
  • Practice spelling in two different modes
  • Track your progress with detailed statistics
  • Modern, colorful terminal interface

Commands

  • add: Add words to your wordlist with optional example sentences
  • list: Show all words from your wordlist
  • practice: Practice spelling words in different modes
    • sentence mode: Shows example sentence with word blanked out
    • blurred mode: Shows the word with some letters hidden
  • stats: View detailed statistics from your practice sessions
  • update: Update a word or its example sentence
  • clear: Remove specific words or clear entire wordlist
  • bulk_update: Add example sentences to multiple existing words at once

Usage

# Add words to your wordlist
spellwell add apple --sentence "I eat an apple every day."

# Add multiple words interactively
spellwell add

# Practice your spelling (default: 10 random words)
spellwell practice

# Practice with specific settings
spellwell practice --count 5 --mode blurred

# See your wordlist
spellwell list

# View your statistics
spellwell stats

# Update an existing word with a sentence
# The word `Apple` will be hidden when practicing
spellwell update apple --sentence "An apple a day keeps the doctor away."

# Add sentences to multiple words
spellwell bulk_update

# Remove a specific word
spellwell clear --word apple

# Clear your entire wordlist
spellwell clear --all

# Get help on any command
spellwell --help
spellwell practice --help

Tools used

  • Poetry for dependency and package management
  • Click for CLI interface
  • Rich for terminal styling
  • Pytest for testing

Docker Usage

You can also run SpellWell using Docker:

# Add words to your wordlist
docker run --rm -it -v spellwell-data:/data spellwell add "word" --sentence "Example sentence"

# Add multiple words interactively
docker run --rm -it -v spellwell-data:/data spellwell add

# Practice your spelling
docker run --rm -it -v spellwell-data:/data spellwell practice

# See your wordlist
docker run --rm -v spellwell-data:/data spellwell list

# View your statistics
docker run --rm -v spellwell-data:/data spellwell stats

# Update an existing word with a sentence
docker run --rm -it -v spellwell-data:/data spellwell update word --sentence "New example sentence"

# Add sentences to multiple words
docker run --rm -it -v spellwell-data:/data spellwell bulk-update

# Remove a specific word
docker run --rm -v spellwell-data:/data spellwell clear --word word

# Clear your entire wordlist
docker run --rm -it -v spellwell-data:/data spellwell clear --all

Note: The -it flags are required for interactive commands (add, practice, bulk-update, clear --all). The -v spellwell-data:/data flag creates a persistent volume for your wordlist.

Releases

No releases published

Packages

No packages published