Files
PinchChat/CONTRIBUTING.md
Nicolas Varrot d58c34fbd7 feat: rename ClawChat → PinchChat across entire project
- Update package.json name and repo URL
- Update README.md, CONTRIBUTING.md branding and links
- Update UI components (Header, Chat) display names
- Update gateway user-agent string
- Rename GitHub repo via API
- Mark FEEDBACK.md item #1 as done
2026-02-11 11:16:19 +00:00

2.1 KiB

Contributing to PinchChat

Thanks for your interest in contributing! 🦞

Getting Started

  1. Fork the repository
  2. Clone your fork:
    git clone https://github.com/<your-username>/pinchchat.git
    cd pinchchat
    
  3. Install dependencies:
    npm install
    
  4. Set up your environment:
    cp .env.example .env
    # Edit .env with your OpenClaw gateway details
    
  5. Start the dev server:
    npm run dev
    

Development

  • Build: npm run build — must pass with 0 errors before submitting a PR
  • Dev server: npm run dev — starts Vite with hot reload
  • Preview: npx vite preview — serve the production build locally

Project Structure

src/
├── components/     # React components
│   ├── chat/       # Chat area (messages, input, streaming)
│   └── sidebar/    # Session list sidebar
├── hooks/          # Custom React hooks (WebSocket, sessions)
├── lib/            # Utilities (markdown, formatting)
├── types/          # TypeScript type definitions
├── App.tsx         # Root component
└── main.tsx        # Entry point

Making Changes

  1. Create a feature branch: git checkout -b feat/my-feature
  2. Make your changes
  3. Ensure npm run build passes with no errors
  4. Commit using Conventional Commits:
    • feat: — new feature
    • fix: — bug fix
    • docs: — documentation only
    • refactor: — code change that neither fixes a bug nor adds a feature
    • style: — formatting, missing semicolons, etc.
    • perf: — performance improvement
    • ci: — CI/CD changes
  5. Push and open a Pull Request

Reporting Issues

When filing an issue, please include:

  • Browser and version
  • Steps to reproduce
  • Expected vs actual behavior
  • Console errors (if any)

Code Style

  • TypeScript strict mode
  • Tailwind CSS v4 for styling (no inline styles)
  • Functional React components with hooks
  • Keep components focused and small

License

By contributing, you agree that your contributions will be licensed under the MIT License.