Skip to main content

AI-powered mentor extension for Goose that transforms automation into guided learning

Project description

Goose Mentor Mode 🎓

AI-powered mentor extension for Goose that transforms development assistance from automation into guided learning experiences.

PyPI version Python 3.11+ License: MIT

🚀 Features

  • Adaptive Learning Assistance: Four assistance levels (GUIDED, EXPLAINED, ASSISTED, AUTOMATED)
  • Socratic Questioning: Helps users discover solutions through guided questions
  • Learning Opportunity Detection: Automatically identifies educational moments
  • Progress Tracking: Monitors learning progress and provides recommendations
  • Environment Configuration: Easy setup through environment variables
  • Goose Integration: Seamless integration with Goose AI assistant

📦 Installation

For Goose Users

Install directly with uvx for immediate use with Goose:

# Install the extension
uvx install goose-mentor-mode

# Add to your Goose profile (see Configuration section)

For Development

# Clone and install for development
git clone https://github.com/joeeuston-dev/goose-mentor-mode.git
cd goose-mentor-mode
uv sync

⚙️ Configuration

Goose Desktop Integration

Add the mentor toolkit to your Goose profile configuration:

  1. Open Goose Desktop Settings
  2. Navigate to the Extensions section
  3. Add environment variables for mentor mode configuration
  4. Add the mentor toolkit to your profile's toolkits list

Environment Variables:

# Core Configuration
DEFAULT_ASSISTANCE_LEVEL=guided          # guided|explained|assisted|automated
LEARNING_PHASE=skill_building           # onboarding|skill_building|production
TIMELINE_PRESSURE=low                   # low|medium|high
ENABLE_VALIDATION_CHECKPOINTS=true     # Enable learning validation
MAX_GUIDANCE_DEPTH=3                    # Depth of Socratic questioning
DEVELOPER_EXPERIENCE_MONTHS=6           # Developer experience level

Profile Configuration Example:

toolkits:
  - name: mentor
    package: goose-mentor-mode

Command Line Usage

# Run with environment configuration
DEFAULT_ASSISTANCE_LEVEL=guided \
LEARNING_PHASE=onboarding \
uvx run goose-mentor-mode

🎯 Assistance Levels

🧭 GUIDED Mode

  • Purpose: Learning through discovery
  • Approach: Socratic questioning and guided exploration
  • Best For: New concepts, skill building, deep understanding
  • Example: "What do you think JWT stands for? How might stateless authentication work?"

📚 EXPLAINED Mode

  • Purpose: Education with solutions
  • Approach: Detailed explanations with implementation
  • Best For: Time-sensitive tasks with learning value
  • Example: "Here's how JWT works... [detailed explanation] + working code"

🤝 ASSISTED Mode

  • Purpose: Quick help with learning opportunities
  • Approach: Direct help with educational context
  • Best For: Experienced developers needing quick assistance
  • Example: "Use this JWT library. Key security considerations: [brief points]"

⚡ AUTOMATED Mode

  • Purpose: Direct task completion
  • Approach: Efficient solutions without educational overhead
  • Best For: Production pressure, repeated tasks
  • Example: "Here's the complete JWT implementation."

🛠️ Tools

mentor_analyze_request

Analyzes user requests for learning opportunities and recommends assistance levels.

toolkit.mentor_analyze_request(
    user_request="How do I implement JWT authentication?",
    context={"experience_months": 6, "timeline_pressure": "low"}
)

mentor_learning_check

Validates understanding through Socratic questioning.

toolkit.mentor_learning_check(
    concept="JWT Authentication",
    user_explanation="JWT is a token that contains user information",
    expected_understanding=["stateless", "secure", "token-based"]
)

mentor_track_progress

Tracks learning progress and provides recommendations.

toolkit.mentor_track_progress(
    activity="Implementing JWT authentication",
    success_indicators={"task_completed": True, "time_spent": 30}
)

mentor_suggest_assistance_level

Suggests optimal assistance level for given context.

toolkit.mentor_suggest_assistance_level(
    user_request="I need help with AWS Lambda",
    context={"experience_months": 6, "timeline_pressure": "medium"}
)

🎓 Educational Philosophy

Mentor Mode transforms AI assistance from automation to education:

  • Discovery Over Delivery: Help users understand why, not just how
  • Adaptive Learning: Adjusts approach based on experience and context
  • Progressive Complexity: Builds understanding layer by layer
  • Retention Focus: Emphasizes learning that sticks

🔧 Developer Profiles

New Developer (0-6 months)

DEFAULT_ASSISTANCE_LEVEL=guided
LEARNING_PHASE=onboarding
TIMELINE_PRESSURE=low
ENABLE_VALIDATION_CHECKPOINTS=true

Developing Skills (6-24 months)

DEFAULT_ASSISTANCE_LEVEL=explained
LEARNING_PHASE=skill_building
TIMELINE_PRESSURE=medium
ENABLE_VALIDATION_CHECKPOINTS=true

Experienced Developer (24+ months)

DEFAULT_ASSISTANCE_LEVEL=assisted
LEARNING_PHASE=production
TIMELINE_PRESSURE=medium
ENABLE_VALIDATION_CHECKPOINTS=false

🧪 Testing

# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov=goose_mentor_mode

# Run specific test
uv run pytest tests/test_mentor_toolkit.py::TestMentorToolkit::test_mentor_analyze_request

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests for new functionality
  5. Run tests (uv run pytest)
  6. Commit your changes (git commit -m 'Add amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built for the Goose AI Assistant
  • Inspired by Socratic teaching methods
  • Designed for developers who value learning

📞 Support


Transform your AI assistance from automation to education with Goose Mentor Mode! 🎓✨

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

goose_mentor_mode-0.1.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

goose_mentor_mode-0.1.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file goose_mentor_mode-0.1.0.tar.gz.

File metadata

  • Download URL: goose_mentor_mode-0.1.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for goose_mentor_mode-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4491e7fef5db9a004e4f1fd973b844dd79a9a73002c65cd9d075b51a79bc25a6
MD5 06c0d09af64c51736ed76ce249061ac2
BLAKE2b-256 379f7f9c602c3fd5b98c8710d212dc50f70b0de15a8519b5cb87e7027ce3efc6

See more details on using hashes here.

File details

Details for the file goose_mentor_mode-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for goose_mentor_mode-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc38f79a00cb0bc64ed3709f01d3d23dce2ffa40b2dab05588af436a3fb913fe
MD5 d205937efb8feb3f0eaaeed08a437569
BLAKE2b-256 ba5a854eaa1379c6bbdb9c4a71cf72a8e525ea36d7cdced0498237bf05c2920e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page