https://github.com/rubyatscale/chatwerk
An MCP for accessing packwerk information from AI coding assistants
https://github.com/rubyatscale/chatwerk
Last synced: 3 months ago
JSON representation
An MCP for accessing packwerk information from AI coding assistants
- Host: GitHub
- URL: https://github.com/rubyatscale/chatwerk
- Owner: rubyatscale
- License: mit
- Created: 2025-03-28T23:54:03.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-06T00:49:52.000Z (3 months ago)
- Last Synced: 2026-03-25T06:25:16.226Z (3 months ago)
- Language: Ruby
- Size: 58.6 KB
- Stars: 8
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Chatwerk
Chatwerk provides AI tool integration for the [QueryPackwerk](https://github.com/rubyatscale/query_packwerk) gem. It adds a Model Context Protocol (MCP) server that allows AI tools like Cursor IDE to access information about your Packwerk packages, dependencies, and violations.
> [!NOTE]
> This is an early prerelease version. We'll continue to update it as we develop. Contributions and feedback are welcome!
## Installation
Install the gem.
Either add it to your packwerk'd application's Gemfile:
```ruby
$ bundle add chatwerk
$ bundle install
```
Or, install it on its own:
```bash
$ gem install chatwerk
```
## Usage
### Starting the MCP Server
You can test the inspector to see if it's working
```bash
$ chatwerk inspect
```
### Connecting with Cursor IDE
To use Chatwerk with Cursor:
1. In Cursor, open Settings > MCP
2. Add a new MCP connection as a command
Name: `chatwerk`
Command: `chatwerk mcp`
3. Ask Cursor to check all the tools on packwerk. Give it an example pack name (partial strings work)
### Example Queries for Cursor
Once connected, you can ask Cursor questions about your Packwerk structure:
- "What are all the packages in this codebase?"
- "Tell me about the dependencies of package X"
- "What packages depend on package Y?"
- "Show me all the violations for package Z"
- "How difficult would it be to separate package X from its dependencies?"
- "What code patterns are used to access Constant on package Y?"
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests.
Run `bin/inspect`
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/rubyatscale/chatwerk.
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).