-
Notifications
You must be signed in to change notification settings - Fork 1k
Expand file tree
/
Copy path.cursorrules
More file actions
29 lines (22 loc) · 1.55 KB
/
.cursorrules
File metadata and controls
29 lines (22 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Cursor AI Rules for Faraday Repository
## Primary Guidelines Reference
**CRITICAL**: Before making any code changes, read `.ai/guidelines.md` for comprehensive Faraday-specific conventions.
## About Faraday
Faraday is a Ruby HTTP client library with a middleware-based architecture similar to Rack. It provides a common interface over many HTTP adapters and uses middleware for request/response processing.
## Core Responsibilities
1. **Read** `.ai/guidelines.md` for all implementation details, patterns, and conventions
2. **Follow** the Faraday-specific patterns documented in the guidelines
3. **Propose updates** to `.ai/guidelines.md` when conventions change or new patterns emerge
## Important Context
- **New middleware and adapters** belong in separate repositories and gems, NOT in the base Faraday repo
- Only middleware used by the vast majority of projects can be considered for the base repo
- See [faraday-net_http](https://github.com/lostisland/faraday-net_http) for an example adapter in its own repository
- Focus on Faraday-specific patterns, not generic Ruby/RSpec knowledge
- Run tests with `bundle exec rspec` and check style with `bundle exec rubocop`
## Reference Files
- **`.ai/guidelines.md`** - Complete conventions and patterns (READ THIS FIRST)
- `.github/CONTRIBUTING.md` - Contribution process and workflow
- `lib/faraday/middleware.rb` - Middleware base class
- `lib/faraday/request/json.rb` - Example middleware
---
**Self-Maintaining**: Keep `.ai/guidelines.md` aligned with the actual codebase. Propose updates when you detect any divergence.