A terminal tool that roasts you for every typo, because 'command not found' is too polite
Project description
Tease-Typo
터미널에서 오타를 치면 "command not found" 대신 웃긴 효과로 당신을 놀려주는 CLI 도구.
$ gti
╭─────────────────────────────────────────╮
│ 🤣 또 틀렸어? 'gti'가 뭔데 ㅋㅋㅋㅋ │
╰─────────────────────────────────────────╯
- 이 프로젝트는 gti를 하루에 세 번 이상 치는 사람을 위해 만들었습니다.
command not found는 너무 딱딱하고 자존감을 떨어뜨립니다.
설치
pipx install tease-typo
pipx가 없으면:brew install pipx또는pip install pipx
쉘 통합
설치 후 한 번만 실행:
tease-typo install
source ~/.zshrc # 또는 source ~/.bashrc
이제 오타를 칠 때마다 자동으로 당신을 놀려줍니다.
사용법
# 쉘 통합 설치
tease-typo install
# 쉘 통합 제거
tease-typo uninstall
# 효과 목록 확인
tease-typo --list
# 특정 쉘 지정 (기본: 현재 쉘 자동 감지)
tease-typo install --shell zsh
tease-typo install --shell bash
효과 목록 (10종)
| 효과 | 설명 |
|---|---|
mocking_text |
조롱 메시지 패널 |
ascii_art |
ASCII 아트로 오타 강조 |
emoji |
이모지 폭탄 |
fake_progress |
가짜 "오타 분석 중..." 진행 바 |
rage_meter |
분노 게이지 FULL 애니메이션 |
wall_of_shame |
빨간 대형 패널로 오타 강조 |
fake_dictionary |
오타의 가짜 사전 검색 결과 |
scoreboard |
오타 횟수 가짜 스코어보드 |
countdown |
긴장감 조성 카운트다운 + 반전 |
typing_shame |
감지 → 분석 → 등록 → 창피함 단계별 표시 |
새 효과 추가 (OCP)
기존 코드를 건드리지 않고 효과를 추가할 수 있습니다.
1. 새 파일 생성 tease_typo/effects/my_effect.py:
from tease_typo.domain.effect import Effect
from tease_typo.domain.typo_event import TypoEvent
class MyEffect(Effect):
@property
def name(self) -> str:
return "my_effect"
@property
def description(self) -> str:
return "내가 만든 효과"
def render(self, typo_event: TypoEvent) -> None:
print(f"'{typo_event.typed_command}'? 진짜로?")
2. 라이브러리에 등록 tease_typo/cli/command_handler.py:
from tease_typo.effects.my_effect import MyEffect
def _build_default_library() -> EffectLibrary:
library = EffectLibrary()
...
library.register(MyEffect()) # 이 줄만 추가
return library
개발 환경
git clone https://github.com/yourname/tease-typo
cd tease-typo
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest # 테스트
pytest --cov=tease_typo --cov-report=term-missing # 커버리지
ruff check . # 린트
mypy tease_typo/ # 타입 검사
요구 사항
- Python 3.9+
- bash 또는 zsh (macOS / Linux)
P.S.
- 이 프로젝트는 spec-kit 도구를 활용해서 제작되었습니다. spec-kit
라이선스
MIT
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tease_typo-1.0.0.tar.gz.
File metadata
- Download URL: tease_typo-1.0.0.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0319d60f3f906ad7d3a987ffd69e8ca4eaaa465c562cd4f811100da47953161
|
|
| MD5 |
a6443a93f02e8db2bc6a3eef07dc6d8d
|
|
| BLAKE2b-256 |
43a8485944a160025425a447825eb8d2a5f7da165c216681074ea3d58bc7739e
|
File details
Details for the file tease_typo-1.0.0-py3-none-any.whl.
File metadata
- Download URL: tease_typo-1.0.0-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4ed866407a1a5b81c59c57f0be3e855be176babe1324590d53481ffcf8399d2
|
|
| MD5 |
1947b96c4e6acc7abefce6c686803de8
|
|
| BLAKE2b-256 |
ed36cbbeb0bbd18803f08c3ae17686c252920535d6bfc36002b819e787d1b691
|