Scribe Shared Module
Common utilities and constants for the scribe plugin.
Slop Word Lists
Tier 1 Words (Highest Confidence)
TIER1_SLOP_WORDS = [ "delve", "embark", "tapestry", "realm", "beacon", "multifaceted", "nuanced", "pivotal", "paramount", "meticulous", "meticulously", "intricate", "showcasing", "leveraging", "streamline", "unleash", "comprehensive", "robust", "spearheaded", "fostering", "harness", "elevate", "transcend", "cornerstone", "holistic" ]
Tier 2 Words (Medium Confidence)
TIER2_SLOP_WORDS = [ "moreover", "furthermore", "indeed", "notably", "subsequently", "significantly", "substantially", "fundamentally", "profoundly", "potentially", "arguably", "seamless", "vibrant", "bustling", "transformative", "revolutionary", "innovative", "cutting-edge", "vital", "crucial", "essential", "optimize", "utilize", "facilitate" ]
Sycophantic Phrases
SYCOPHANTIC_PHRASES = [ "I'd be happy to", "Great question!", "That's a great point", "Absolutely!", "I'm glad you asked", "You're absolutely right", "That's a wonderful", "Excellent question" ]
Vapid Openers
VAPID_OPENERS = [ "In today's fast-paced world", "In an ever-evolving landscape", "In the dynamic world of", "As technology continues to evolve", "In this digital age", "In the realm of" ]
Empty Emphasis
EMPTY_EMPHASIS = [ "cannot be overstated", "goes without saying", "needless to say", "of paramount importance", "absolutely essential", "at its core" ]
Vocabulary Substitutions
SUBSTITUTIONS = { "leverage": "use", "utilize": "use", "facilitate": "help", "comprehensive": "thorough", "robust": "solid", "seamless": "smooth", "optimize": "improve", "streamline": "simplify", "delve": "explore", "embark": "start", "fallback": "default", "holistic": "complete", "paradigm": "approach", "synergy": "cooperation" }
Scoring Constants
TIER1_SCORE = 3 TIER2_SCORE = 2 PHRASE_SCORE = 3 STRUCTURAL_PENALTY = 2
RATING_THRESHOLDS = { "clean": 1.0, "light": 2.5, "moderate": 5.0, "heavy": float('inf') }
File Type Detection
def detect_content_type(filepath): """Detect content type from filename and content.""" name = filepath.lower() if name.endswith(('.py', '.js', '.ts', '.go', '.rs')): return 'code' if 'readme' in name: return 'readme' if 'changelog' in name: return 'changelog' if name.endswith('.md'): return 'markdown' if name.endswith('.txt'): return 'text' return 'unknown'
Style Profile Location
Default location for style profiles:
.scribe/style-profile.yaml
Project-level configuration:
.scribe/config.yaml