Skip to content

Latest commit

 

History

History
154 lines (116 loc) · 4.76 KB

File metadata and controls

154 lines (116 loc) · 4.76 KB

Contributing to Try Integration Plugin

Thank you for your interest in contributing to the Try Integration Plugin for Claude Code! This document provides guidelines and instructions for contributing.

Code of Conduct

This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.

How to Contribute

Reporting Bugs

Before creating bug reports, please check existing issues to avoid duplicates. When creating a bug report, include:

  • Clear title and description
  • Steps to reproduce the issue
  • Expected behavior vs. actual behavior
  • Environment details:
    • OS and version
    • Claude Code version
    • try version (try -v)
    • Shell type and version
  • Relevant logs (if applicable)
  • Screenshots (if helpful)

Suggesting Enhancements

Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, include:

  • Clear title and description
  • Use case - why is this enhancement useful?
  • Proposed solution - how would it work?
  • Alternatives considered
  • Examples from other tools (if applicable)

Pull Requests

  1. Fork the repository and create your branch from main
  2. Make your changes:
    • Follow the existing code style
    • Update documentation as needed
    • Add or update tests if applicable
  3. Test thoroughly:
    • Install the plugin locally
    • Test core functionality
    • Test edge cases
    • Verify documentation accuracy
  4. Commit your changes:
    • Use clear, descriptive commit messages
    • Reference related issues
  5. Push to your fork and submit a pull request
  6. Wait for review and address feedback

Development Setup

# Clone your fork
git clone https://github.com/YOUR_USERNAME/try-claude-plugin.git
cd try-claude-plugin

# Install prerequisites
# 1. Ensure 'try' is installed
try -v

# 2. Run installation script to test locally
./install.sh

# 3. Start Claude Code and test changes

Testing Checklist

Before submitting a PR, verify:

  • try tool is properly installed
  • Installation script runs without errors
  • SessionStart hook creates sandbox directory
  • Claude wraps state-modifying commands with try
  • Claude does NOT wrap read-only commands
  • /try-status skill works correctly
  • /try-commit skill works correctly
  • SessionEnd hook prompts for commit/discard
  • Changes commit correctly to live filesystem
  • Changes discard correctly (sandbox deleted)
  • Documentation is accurate and up-to-date

Code Style

File Organization

try-claude-plugin/
├── .claude-plugin/       # Plugin metadata
├── hooks/                # SessionStart, SessionEnd hooks
├── skills/               # User-invocable skills
├── docs/                 # Additional documentation
├── README.md             # Main documentation
├── CHANGELOG.md          # Version history
├── CONTRIBUTING.md       # This file
└── install.sh            # Installation script

Development Guidelines

Adding New Hooks

  1. Create hook script in hooks/ directory
  2. Make executable with chmod +x
  3. Update settings.template.json with hook configuration
  4. Update install.sh to copy the new hook
  5. Document in README.md

Adding New Skills

  1. Create skill directory in skills/
  2. Add SKILL.md with metadata and description
  3. Add executable script (e.g., skill-name.sh)
  4. Update install.sh to copy the skill
  5. Document in README.md

Updating System Prompt

  1. Edit the systemPromptAppend in settings.template.json
  2. Test thoroughly - ensure Claude follows instructions
  3. Document any behavioral changes in README.md
  4. Update CHANGELOG.md

Release Process

  1. Update version in .claude-plugin/marketplace.json
  2. Update CHANGELOG.md with release notes
  3. Create git tag: git tag v1.x.x
  4. Push tag: git push origin v1.x.x
  5. Create GitHub release with changelog

Questions?

Recognition

Contributors will be recognized in:

  • GitHub contributors list
  • CHANGELOG.md (for significant contributions)
  • README.md acknowledgments (for major features)

Thank you for contributing! 🎉