hyperb1iss dotfiles .cursorrules file for Shell (stars: 1)

# 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!