feat: add initial documentation for project structure, purpose, and progress
Signed-off-by: juliano.barbosa <julianomb@gmail.com>
This commit is contained in:
parent
da9ce274c6
commit
a486c5c4b6
5 changed files with 292 additions and 0 deletions
102
cline_docs/systemPatterns.md
Normal file
102
cline_docs/systemPatterns.md
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
# System Patterns
|
||||
|
||||
## Architecture Patterns
|
||||
|
||||
### 1. Plugin System
|
||||
- Uses lazy.nvim for plugin management
|
||||
- Plugins are defined in init.lua
|
||||
- Supports lazy loading via events/commands
|
||||
- Custom plugins can be added in lua/custom/plugins/
|
||||
|
||||
### 2. Configuration Structure
|
||||
```
|
||||
.
|
||||
├── init.lua # Main configuration file
|
||||
├── lua/
|
||||
│ ├── kickstart/ # Core functionality
|
||||
│ │ └── plugins/ # Built-in plugin configs
|
||||
│ └── custom/ # User customizations
|
||||
│ └── plugins/ # Custom plugin configs
|
||||
└── doc/ # Documentation
|
||||
```
|
||||
|
||||
### 3. Key Design Patterns
|
||||
|
||||
#### Modular Configuration
|
||||
- Core settings in init.lua
|
||||
- Plugin-specific configurations in separate files
|
||||
- Custom configurations isolated in lua/custom/
|
||||
|
||||
#### Event-Driven Architecture
|
||||
- Uses Neovim's event system for plugin loading
|
||||
- Autocommands for specific behaviors
|
||||
- LSP events for IDE features
|
||||
|
||||
#### Layer-Based Organization
|
||||
1. Core Settings Layer
|
||||
- Basic Vim options
|
||||
- Key mappings
|
||||
- Global variables
|
||||
|
||||
2. Plugin Layer
|
||||
- Plugin management
|
||||
- Plugin configurations
|
||||
- Plugin-specific settings
|
||||
|
||||
3. LSP Layer
|
||||
- Language server configurations
|
||||
- Completion setup
|
||||
- Diagnostic settings
|
||||
|
||||
4. UI Layer
|
||||
- Colorscheme
|
||||
- Statusline
|
||||
- Visual enhancements
|
||||
|
||||
## Technical Decisions
|
||||
|
||||
### 1. Configuration Language
|
||||
- Lua chosen over VimScript for:
|
||||
- Better performance
|
||||
- Modern syntax
|
||||
- Rich data structures
|
||||
- Better integration with Neovim
|
||||
|
||||
### 2. Plugin Selection
|
||||
- Minimal but powerful set of defaults
|
||||
- Focus on maintained, actively developed plugins
|
||||
- Preference for Lua-based plugins
|
||||
- Built-in LSP over CoC or similar alternatives
|
||||
|
||||
### 3. Code Organization
|
||||
- Single init.lua for easy understanding
|
||||
- Modular structure available through kickstart-modular.nvim
|
||||
- Clear separation between core and user customizations
|
||||
|
||||
### 4. Performance Considerations
|
||||
- Lazy loading of plugins
|
||||
- Efficient event handling
|
||||
- Minimal startup impact
|
||||
- Careful LSP configuration
|
||||
|
||||
## Key Technical Standards
|
||||
|
||||
1. Code Style
|
||||
- Consistent Lua formatting
|
||||
- Clear commenting
|
||||
- Documented configuration options
|
||||
|
||||
2. Plugin Management
|
||||
- Versioned dependencies
|
||||
- Conditional loading
|
||||
- Clear plugin specifications
|
||||
|
||||
3. Error Handling
|
||||
- Protected calls for plugin loading
|
||||
- Fallbacks for missing dependencies
|
||||
- Clear error messages
|
||||
|
||||
4. Documentation
|
||||
- Inline documentation
|
||||
- Help files
|
||||
- Clear user instructions
|
||||
Loading…
Add table
Add a link
Reference in a new issue