Opencode Init
This commit is contained in:
57
AGENTS.md
Normal file
57
AGENTS.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# AGENTS.md - Neovim Configuration Guide
|
||||
|
||||
## Overview
|
||||
This is a kickstart.nvim fork - a modular Neovim configuration written in Lua. Code is organized in:
|
||||
- `/init.lua` - Main entry point (kept concise for learning)
|
||||
- `/lua/custom/` - User custom configurations and plugins
|
||||
- `/lua/kickstart/` - Core plugin configurations
|
||||
|
||||
## Code Style Guidelines
|
||||
|
||||
### Lua Formatting
|
||||
- **Formatter**: Stylua (enforced via CI)
|
||||
- **Config**: `.stylua.toml` (column_width=160, indent=2 spaces, auto quote style)
|
||||
- **Command**: `stylua .` to format all files, `stylua --check .` to verify
|
||||
|
||||
### Code Conventions
|
||||
- **Imports**: Use `require()` to load modules; prefer relative paths from `/lua/`
|
||||
- **Comments**: Use `--` for single-line, `--[[` for block comments; include URLs for plugins
|
||||
- **Naming**: snake_case for variables/functions, PascalCase for classes
|
||||
- **Lua tables**: Preferred data structure; use clear key names
|
||||
- **Error handling**: Use `pcall()` for risky operations; fail gracefully with fallbacks
|
||||
|
||||
### Plugin Structure
|
||||
- Each plugin is a separate file returning a table with name, dependencies, config
|
||||
- Use `event`, `cmd`, `ft` keys for lazy-loading optimization
|
||||
- Config functions should be self-contained and well-commented
|
||||
|
||||
## Build/Lint/Test Commands
|
||||
|
||||
### Format & Lint
|
||||
```bash
|
||||
# Format all Lua files
|
||||
stylua .
|
||||
|
||||
# Check formatting without changing files
|
||||
stylua --check .
|
||||
|
||||
# Format specific file
|
||||
stylua path/to/file.lua
|
||||
```
|
||||
|
||||
### No traditional tests
|
||||
This is a configuration repo, not a testable library. Validation is manual:
|
||||
- Start Neovim: `nvim`
|
||||
- Check `:Lazy` status for plugin errors
|
||||
- Review `:checkhealth` for configuration issues
|
||||
- Test manually in editor to verify keymaps/features work
|
||||
|
||||
### Linting
|
||||
- Neovim's built-in Lua LSP provides type checking (integrated via plugin)
|
||||
- The GitHub Actions workflow runs `stylua --check` on PRs
|
||||
|
||||
## Key Notes
|
||||
- **Language**: Lua 5.1+ (Neovim's version)
|
||||
- **No external build process**: Configuration is interpreted at runtime
|
||||
- **Plugin manager**: Lazy.nvim (auto-installs missing plugins on startup)
|
||||
- **Target**: Latest Neovim stable + nightly versions
|
||||
Reference in New Issue
Block a user