DotForge

0.6.0-preview

Framework for registering and configuring CLI tools in a PowerShell profile — XDG paths, PATH management, fzf pickers, and aliases.

Minimum PowerShell version

7.2

This is a prerelease version of DotForge.

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name DotForge -AllowPrerelease

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name DotForge -Prerelease

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) Randy W. Sims. All rights reserved.

Package Details

Author(s)

  • Randy W. Sims

Tags

CLI Tools Profile XDG fzf Configuration Windows Shim PSReadLine

Functions

Add-DFToPath New-DFDirectory Invoke-DFPicker Invoke-DFWithPager Get-DFTool Find-DFTool Register-DFTool Complete-DFToolSetup Initialize-DFEnvironment Install-DFTool New-DFShim Invoke-DFHelp Show-DFCliHelp Show-DFCliHelpPaged Select-DFCommand Select-DFVerb Select-DFModule Select-DFHelpTopic Set-DFLocationUp New-DFDirectoryAndSet Select-DFLocation New-DFFile Get-DFWhich Open-DFItem Select-DFProcess Get-DFTopProcess Get-DFEnv Get-DFPath Select-DFEnvVar Edit-DFProfile Invoke-DFProfileReload Copy-DFToClipboard Get-DFFromClipboard New-DFUuid Find-DFPackage Update-DFPackageCache Select-DFPackage Get-DFCategoryList Update-DFCategoryDb Update-DFToolIdentityGuide Get-DFCommandConflict

PSEditions

Core

Dependencies

This module has no dependencies.

Release Notes

Preview release. New in 0.6.0: a 2026-09-06 zsh-parity pass fixed eza's ll/la aliases and fzf's match mode/previews to mirror a reference zsh config, defaulted PSReadLine to Emacs edit mode with history relocated under XDG_STATE_HOME (size 10000), and added three tools -- rustup, vcpkg, and direnv (PowerShell hook via LocationChangedAction, needs PS 7.2+). Startup performance: command-output caching for carapace/zoxide/mdcat/scoop-search (~200ms), Test-DFToolAvailable memoization (~44% faster Register-DFTool -All), and background Import-Module pre-warming for module-type tools like PSFzf/Terminal-Icons/posh-git (~77% faster real import). New tool-setup-lifecycle primitive (Tools/<name>.setup.ps1) for one-time persistent setup -- first used to make delta's catppuccin theme actually render (previously a silent no-op) via a git-config include line, and to stop mdv's config from being silently rewritten after deletion. New vivid (LS_COLORS theming) and bat (BAT_THEME) plugins; $DFConfig.Defaults lets tools compete for a role (lsd added alongside eza for "listing"). New author-time tool-conformance harness verifies tools actually honor their configuration. Canonical path handling (ConvertTo-DFPath) fixes mixed \/ separators in XDG-derived env vars. New mdcat/mdv markdown viewers; glow's XDG config now actually takes effect via a wrapper function. Theme resolution is now driven by a shared $DFConfig['Theme'] key with per-tool overrides and per-tool themeMap translation. The copy alias is renamed to yank (collided with PowerShell's builtin); all general-helper aliases are now genuinely module-owned. Also fixes a $DFConfig = $null crash across five code paths, real SQL parameter binding in the winget catalog search, New-DFShim resolving relative arguments against the wrong directory, and stale caching in Import-DFToolDb/Resolve-DFPackageManager. Carries forward: fuzzy fzf package-manager pickers (winget/scoop/choco), the completion stack (PSReadLine + Carapace + PSFzf + inshellisense), trifle/ftrifle multi-catalog package discovery, fnm per-directory Node switching, and dependency-ordered registration via dependsOn.

FileList

Version History

Version Downloads Last updated
0.6.0-preview (current version) 6 9/6/2026
0.5.0-preview 5 7/24/2026
0.4.0-preview 5 7/20/2026
0.3.0-preview 16 6/20/2026
0.2.0-preview 18 6/12/2026
0.1.1-preview 6 5/22/2026
0.1.0-preview 3 5/21/2026
Show more