Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
version: nightly

- name: luajit
uses: leafo/gh-actions-lua@v11
uses: leafo/gh-actions-lua@v13
with:
luaVersion: "luajit-openresty"

Expand Down
60 changes: 32 additions & 28 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
- **Issue Tracking:** GitHub Issues
- **Additional Docs:** `README.md` for user documentation

______________________________________________________________________
---

## πŸ—‚οΈ Repository Structure

Expand Down Expand Up @@ -44,7 +44,7 @@ hurl.nvim/
└── version.txt # Version info
```

______________________________________________________________________
---

## 🚦 Quick Start

Expand Down Expand Up @@ -83,7 +83,7 @@ ______________________________________________________________________
})
```

______________________________________________________________________
---

## πŸ§‘β€πŸ’» Development Guidelines

Expand Down Expand Up @@ -208,25 +208,28 @@ end, {})

- **HTTP Processing:** The plugin uses the external `hurl` command to execute requests and process responses with configurable formatters.

______________________________________________________________________
---

## πŸ› οΈ Common Commands & Development Workflow

### Development Commands

- **Setup development environment:**

```bash
# Install vusted for testing
make install
```

- **Run tests:**

```bash
make test # Run all tests
vusted test/ # Direct vusted execution
```

- **Format code:**

```bash
stylua lua/ test/ # Format Lua code (if stylua is installed)
```
Expand All @@ -240,6 +243,7 @@ ______________________________________________________________________
### Plugin Commands

- **Basic usage:**

```vim
:HurlRunner " Run entire .hurl file
:HurlRunnerAt " Run request at cursor
Expand All @@ -255,7 +259,7 @@ ______________________________________________________________________
:HurlSetEnvFile custom.env " Set custom env file
```

______________________________________________________________________
---

## 🧩 Agent Code Integration

Expand Down Expand Up @@ -286,7 +290,7 @@ ______________________________________________________________________
- **Async operations:** Use `vim.schedule` for UI updates from async contexts
- **Command registration:** Use `vim.api.nvim_create_user_command` with proper options

______________________________________________________________________
---

## πŸ§ͺ Testing & Quality Assurance

Expand All @@ -304,7 +308,7 @@ ______________________________________________________________________
- **Performance:** Ensure UI responsiveness and efficient request handling
- **Compatibility:** Test with multiple Neovim versions

______________________________________________________________________
---

## πŸ“ Documentation & Examples

Expand All @@ -320,7 +324,7 @@ ______________________________________________________________________
- **Function documentation:** EmmyLua annotations for all public functions
- **Architecture decisions:** Document design choices and trade-offs

______________________________________________________________________
---

## πŸ›‘οΈ Security & Best Practices

Expand All @@ -338,7 +342,7 @@ ______________________________________________________________________
- **Caching:** Cache environment variables and parsed configurations
- **Resource cleanup:** Proper cleanup of buffers and windows

______________________________________________________________________
---

## 🏷️ Branching & Workflow

Expand All @@ -356,26 +360,26 @@ ______________________________________________________________________
- **Documentation:** Update README and help docs
- **Tagging:** Proper git tagging for releases

______________________________________________________________________
---

## 🧭 Quick Reference

| Task | Command/Location |
| ----------------------------- | ----------------------------------- |
| Run tests | `make test` |
| Install test dependencies | `make install` |
| Format code | `stylua lua/ test/` |
| Main plugin file | `lua/hurl/init.lua` |
| Core functionality | `lua/hurl/main.lua` |
| UI components | `lua/hurl/popup.lua`, `split.lua` |
| Utilities | `lua/hurl/utils.lua` |
| Tests | `test/*.lua` |
| Documentation | `README.md` |
| Configuration | `_HURL_GLOBAL_CONFIG` global |
| Commands | `:Hurl*` commands |
| Environment files | `vars.env` (configurable) |

______________________________________________________________________
| Task | Command/Location |
| ------------------------- | --------------------------------- |
| Run tests | `make test` |
| Install test dependencies | `make install` |
| Format code | `stylua lua/ test/` |
| Main plugin file | `lua/hurl/init.lua` |
| Core functionality | `lua/hurl/main.lua` |
| UI components | `lua/hurl/popup.lua`, `split.lua` |
| Utilities | `lua/hurl/utils.lua` |
| Tests | `test/*.lua` |
| Documentation | `README.md` |
| Configuration | `_HURL_GLOBAL_CONFIG` global |
| Commands | `:Hurl*` commands |
| Environment files | `vars.env` (configurable) |

---

## 🧠 Additional Instructions

Expand All @@ -400,7 +404,7 @@ ______________________________________________________________________
- **History management:** Track and replay previous requests
- **Git integration:** Discover project root and environment files using git context

______________________________________________________________________
---

## 🏁 Final Notes

Expand All @@ -410,4 +414,4 @@ ______________________________________________________________________
- **Maintain backwards compatibility** when possible
- **Document breaking changes** clearly in changelog and migration guides
- **Test with real .hurl files** to ensure practical functionality
- **Consider integration** with other Neovim plugins and LSP servers
- **Consider integration** with other Neovim plugins and LSP servers
Loading