feat: add initial documentation for ecommerce project and system architecture

Signed-off-by: juliano.barbosa <julianomb@gmail.com>
This commit is contained in:
juliano.barbosa 2025-02-11 19:40:08 -03:00
parent 04b3252e24
commit ae234c5e5b
No known key found for this signature in database
GPG key ID: EB8B440F57360B3D
9 changed files with 559 additions and 143 deletions

View file

@ -1,30 +1,87 @@
# Product Context: Neovim Configuration
# Product Context: Neovim IDE Configuration
## Why This Project Exists
This Neovim configuration exists to provide a robust, maintainable development environment based on the Kickstart.nvim template. It aims to deliver modern editor features while maintaining simplicity and transparency in its implementation.
This project aims to transform Neovim into a powerful, fully-featured Integrated Development Environment (IDE) that provides modern development capabilities while maintaining Neovim's core efficiency and extensibility. It serves developers who want the speed and flexibility of Neovim combined with the comprehensive features of traditional IDEs.
## Problems It Solves
1. **Module Accessibility**: Currently addressing issues with runtime file locations and module loading, specifically the vim.diagnostic module
2. **Development Environment**: Provides a comprehensive IDE-like environment through:
- LSP integration for code intelligence
- Treesitter for advanced syntax highlighting
- Fuzzy finding and file navigation
- Git integration
- Diagnostic capabilities
1. Development Environment Integration
- Fragmented development tooling
- Inconsistent development experiences across languages
- Complex setup requirements for different programming languages
- Need for multiple editors/IDEs for different tasks
- Debugging Tools
2. Productivity Barriers
- Manual code completion and navigation
- Lack of integrated debugging capabilities
- Inefficient project management
- Limited language support
3. Configuration Management
- Complex plugin management
- Inconsistent keybindings
- Difficult maintenance of settings
- Performance optimization challenges
## How It Should Work
1. **Runtime Environment**:
- All Neovim runtime files should be properly located and accessible
- Core modules like vim.diagnostic should load without errors
- VIMRUNTIME environment variable should point to correct location
2. **User Experience**:
- Configuration should load without errors
- All plugins should initialize properly
- LSP features should work seamlessly
- Diagnostic information should be visible and accurate
### Language Support
Comprehensive development support for:
- Python: Full LSP support, debugging, virtual environments
- Lua: Native integration, debugging, documentation
- Rust: Cargo integration, LSP, formatting
- Go: Go tools integration, testing support
- PowerShell: Scripting support, terminal integration
- Bash: Shell scripting, linting
- HTML/CSS: Preview, formatting, snippets
- PHP: Debug, testing, framework support
3. **Configuration Management**:
- Settings should be clearly organized in init.lua
- Plugin management through lazy.nvim
- Clear separation of concerns in configuration structure
### Core Features
1. Intelligent Code Assistance
- Auto-completion with context awareness
- Real-time syntax highlighting
- LSP integration for all supported languages
- Inline code diagnostics and suggestions
2. Navigation & Management
- Advanced file navigation and search
- Project-wide search and replace
- Split windows and buffer management
- Integrated file explorer
3. Development Tools
- Integrated debugging support
- Git version control integration
- Built-in terminal emulator
- Code formatting and linting
4. Project Organization
- Project-specific settings
- Workspace management
- Session persistence
- Custom project templates
### Configuration Framework
1. Modular Organization
- Separate configuration files by function
- Plugin-specific configurations
- Language-specific settings
- User customization layer
2. Performance Optimization
- Lazy loading of plugins
- Conditional feature enabling
- Cache management
- Startup time optimization
3. User Experience
- Intuitive key mappings
- Customizable color schemes
- Informative status line
- Context-aware menus
4. Extensibility
- Plugin management system
- Custom commands framework
- User-defined autocommands
- Extension API support