Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several foundational enhancements to PSNotes, significantly expanding its capabilities around organization, execution, and interaction. The changes span multiple core functions and introduce a new interactive terminal experience, while remaining backward-compatible with existing note workflows.
Note Catalog Support
Affected Areas
PSNoteclassNoteStoreGet-PSNoteStart-PSNoteDetails
Get-PSNotecan now filter notes by Catalog, both when listing notes and when resolving aliases.Why
As note libraries grow, tags alone become insufficient. Catalogs provide a predictable, hierarchical way to organize notes without overloading search semantics.
Default Snippet Execution
Affected Areas
PSNoteclassInvoke-PSNoteDetails
Notes can now be marked to execute by default when invoked.
When enabled, the note no longer requires an explicit
-Executeor equivalent flag.This behavior applies consistently whether the note is invoked:
Invoke-PSNoteWhy
For frequently used snippets, PSNotes should feel closer to invoking a command than recalling documentation. This reduces friction while preserving safety for non-executable notes.
File Execution via Note Alias
Affected Areas
PSNoteclassInvoke-PSNoteDetails
Notes can now reference a file path instead of (or in addition to) inline snippet content.
When invoked, PSNotes will execute the referenced file in the current session context.
File execution respects:
Enables notes to act as lightweight launchers for scripts, utilities, or automation entry points.
Why
This bridges the gap between snippet recall and real automation. PSNotes can now be used as a discoverable command registry for local tooling.
Import & Export Improvements
Affected Areas
Import-PSNoteExport-PSNoteDetails
Import and export now fully support:
Improved handling of metadata to ensure round-trip consistency.
Exported data is more resilient to future schema evolution.
Import logic is more defensive, reducing failures caused by missing or partial fields.
Why
As PSNotes gains richer metadata, import/export must be reliable enough to support backups, sharing, and environment portability.
Interactive PSNotes Terminal App
New Command
Start-PSNoteDetails
Introduces a full-screen, terminal-based interactive UI.
Runs directly in the current console session (no new window).
Provides:
Designed with a retro, menu-driven feel inspired by classic terminal tools, while remaining PowerShell-native.
Acts as a discovery and execution layer on top of existing PSNotes functionality rather than a replacement.
Why
As the feature set grows, discoverability becomes critical. The terminal app provides an intuitive, keyboard-first way to explore and use PSNotes without memorizing aliases or parameters.
Architectural Impact
Expands the role of the note model to include execution intent and organization.
Reinforces
NoteStoreas the authoritative source for note persistence and resolution.Lays groundwork for future features such as:
Backward Compatibility