# Cursor Rules for Stefanie'sDotfiles Project
# Project Structure
structure:
- dotfiles should be organized by tool/application
- configuration files should be placed in their respective tool directories
- use symbolic links to map configurations to their system locations
# Package Management
packages:
- prefer official package repositories over manual installations
- maintain separate package lists for different distributions
- document all package dependencies clearly
- specify version constraints only when necessary
- package lists are maintained in separate files:
- `packages.txt`: main package list for Linux systems
- `packages_arch.txt`: Arch Linux specific packages
- `packages_minimal.txt`: minimal set of essential packages
# Installation and Configuration
install:
- dotbot yaml files control installation and linking:
- `minimal.yaml`: basic configuration for minimal installs
- `system.yaml`: system-wide configuration settings
- `local.yaml`: user-specific configuration and links
- `windows.yaml`: Windows-specific configuration
- Windows setup is handled by:
- `hypershell/setup-windows.ps1`: main Windows setup script
- `install.ps1`: dotbot installation wrapper for Windows
# Compatibility
compatibility:
- ensure compatibility with Arch Linux and Debian based systems
- ensure compatibility with Windows 11
- we target PowerShell 7 on Windows
- ensure compatibility with zsh and bash
# Code Style
style:
- use clear, descriptive names for files and directories
- maintain consistent indentation (2 spaces preferred)
- include comments for complex configurations
- keep configurations modular and well-organized
# Shell Scripts
shell:
- prefer POSIX-compliant shell scripting
- use zsh for interactive shell configurations
- implement error handling in scripts
- make scripts portable across Unix-like systems
- shell configurations are organized in three main directories:
- `sh/`: contains common shell modules shared between bash and zsh
- `bash/` and `zsh/`: Linux shell configurations that source common modules
- `hypershell/modules/`: PowerShell modules for Windows environments
- Linux shells (bash/zsh) load common functionality from sh/ directory
- Windows uses Microsoft.PowerShell_profile.ps1 to load hypershell/modules
- common modules in sh/ include configurations for:
- environment variables
- shell utilities
- git operations
- directory navigation
- development tools (python, java, docker)
- system-specific functions (WSL, Arch)
# Documentation
docs:
- maintain clear README files
- document installation steps
- explain configuration options
- include usage examples
- note system requirements
# Version Control
git:
- use meaningful commit messages
- group related changes in single commits
- maintain a clean git history
- ignore system-specific and sensitive files
# Security
security:
- never commit sensitive information or tokens
- use environment variables for secrets
- implement proper file permissions
- validate external scripts before sourcing
# Testing
testing:
- test configurations in isolated environments
- verify compatibility across different systems
- validate symbolic links
- check for syntax errors in config files
# Theme
theme:
- use a consistent color scheme for all files and directories
- ensure that the theme is beautiful and functional
docker
java
lua
makefile
perl
powershell
python
shell
First Time Repository
Stefanie's Dotfiles!
Shell
Languages:
Lua: 17.5KB
Makefile: 1.3KB
Perl: 21.2KB
PowerShell: 31.5KB
Python: 5.9KB
Shell: 57.0KB
Created: 3/21/2017
Updated: 1/15/2025
All Repositories (1)
Stefanie's Dotfiles!