Skip to content

Add interactive front-end shell menu to notes_app CLI#39

Draft
ShockaHolmes with Copilot wants to merge 2 commits into
mainfrom
copilot/add-front-end-menu
Draft

Add interactive front-end shell menu to notes_app CLI#39
ShockaHolmes with Copilot wants to merge 2 commits into
mainfrom
copilot/add-front-end-menu

Conversation

Copilot AI commented Apr 30, 2026

Copy link
Copy Markdown

The notes_app CLI lacked an interactive REPL-style interface — users had to invoke each command as a separate subprocess call. This adds a persistent interactive shell exposing all available commands in a single session.

Changes

python/src/notes_app/cli/shell.py (new)

  • Interactive notes> prompt loop backed by the full NoteService / BackupService stack
  • Dispatches all commands: help, list, create, search, read, update, delete, backup, restore, quit
  • Uses shlex.split() for correct quoted-argument parsing
  • Handles EOF (Ctrl+D) and KeyboardInterrupt (Ctrl+C) gracefully
  • Entrypoint: python -m notes_app.cli.shell

python/tests/test_shell.py (new)

  • 23 unit tests covering every command, missing-argument error paths, unknown commands, empty input, unmatched quotes, and interrupt handling

Example

$ python -m notes_app.cli.shell
Future Proof Notes Manager - Interactive Shell
Type 'help' for available commands, 'quit' to exit.

notes> create "Meeting Notes" "Discussed Q3 roadmap"
Created note 'meeting-notes.md'
notes> list
Notes:
============================================================
meeting-notes.md
  Title: Meeting Notes
  Modified: 2026-04-30T15:07:43Z
1 note(s) found.
notes> update meeting-notes --tags "q3,roadmap"
Updated note 'meeting-notes.md'
notes> quit

Goodbye!

Copilot AI linked an issue Apr 30, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Add front end menu to operate app more proficiently Add interactive front-end shell menu to notes_app CLI Apr 30, 2026
Copilot AI requested a review from ShockaHolmes April 30, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Added front end menu to app

2 participants