journeyman33 win10-wsl-ubuntu-setup .cursorrules file for PowerShell

{
  "repositoryPurpose": "Automate the setup of a Windows 10 laptop with WSL Ubuntu for development and DevOps tasks.",
  "primaryGoals": [
    "Provide dynamic installation scripts for GUI applications and CLI tools using Winget and Scoop in both PowerShell and Nushell.",
    "Support multiple shells (PowerShell and Nushell) for a flexible development environment.",
    "Enable reproducible WSL Ubuntu environments using Devbox as the primary package manager for system-wide tools.",
    "Simplify dotfile management with GNU Stow for consistent configuration replication across environments."
  ],
  "scriptGuidelines": {
    "scripts/windows": {
      "description": "Contains scripts for installing GUI applications (Winget) and CLI tools (Scoop) interactively using Gum.",
      "scripts": [
        {
          "name": "winget.ps1",
          "description": "A PowerShell script to dynamically install GUI applications using Winget.",
          "features": [
            "Interactive application selection with Gum.",
            "Idempotency to skip already-installed applications.",
            "Silent installations with necessary agreements accepted."
          ]
        },
        {
          "name": "winget.nu",
          "description": "A Nushell script to dynamically install GUI applications using Winget.",
          "features": [
            "Leverages Nushell’s structured data pipelines for concise scripting.",
            "Interactive application selection with Gum.",
            "Idempotent behavior to avoid redundant installations."
          ]
        },
        {
          "name": "scoop.ps1",
          "description": "A PowerShell script to dynamically install CLI tools using Scoop.",
          "features": [
            "Interactive tool selection with Gum.",
            "Ensures tools are only installed once.",
            "Works seamlessly in Windows PowerShell and PowerShell 7+."
          ]
        },
        {
          "name": "scoop.nu",
          "description": "A Nushell script to dynamically install CLI tools using Scoop.",
          "features": [
            "Uses Nushell's structured data model for concise scripting.",
            "Interactive tool selection with Gum.",
            "Idempotency to skip already-installed tools."
          ]
        }
      ]
    },
    "scripts/ubuntu": {
      "description": "Contains scripts for setting up WSL Ubuntu environments using Devbox.",
      "scripts": [
        {
          "name": "dynamic-devbox.nu",
          "description": "A Nushell script to dynamically install global tools in WSL Ubuntu using Devbox.",
          "features": [
            "Interactive package selection using Gum.",
            "Uses Devbox for reproducible and isolated installations.",
            "Supports installation of Rust tools, utilities, and other packages essential for development."
          ]
        },
        {
          "name": "dynamic-devbox.ps1",
          "description": "A PowerShell script to dynamically install global tools in WSL Ubuntu using Devbox.",
          "features": [
            "Interactive package selection using Gum.",
            "Uses Devbox for reproducible and isolated installations.",
            "Focuses on compatibility with WSL Ubuntu through PowerShell."
          ]
        }
      ]
    }
  },
  "documentationGuidelines": {
    "readmeStructure": [
      "Purpose of the repository and target audience.",
      "Overview of setup steps: Windows applications, WSL Ubuntu setup, and dotfiles.",
      "Prerequisites for running the scripts.",
      "Detailed usage instructions for each script.",
      "Next steps and planned enhancements."
    ],
    "nextUpdates": [
      "Include detailed instructions for using Devbox to set up WSL Ubuntu environments.",
      "Document GNU Stow usage for managing dotfiles.",
      "Add testing instructions for all scripts.",
      "Provide a comparison between PowerShell and Nushell script usage for Windows tasks."
    ]
  },
  "bestPractices": [
    "Ensure all scripts are idempotent to avoid redundant installations.",
    "Use Gum for all interactive selections to provide a consistent user experience.",
    "Maintain compatibility with both PowerShell and Nushell wherever possible.",
    "Keep documentation clear, concise, and beginner-friendly.",
    "Provide fallback instructions for manual installations if automation fails."
  ]
}

bun
golang
less
nushell
powershell
rust

First Time Repository

PowerShell

Languages:

Nushell: 1.9KB
PowerShell: 3.4KB
Created: 1/21/2025
Updated: 1/21/2025

All Repositories (1)