Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

`prompuff` as the native messaging host, and Connect a browser in Settings

Open
#46 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
csharp, linux, macos

Research direction

Start with src/Prompuff.Cli/CliApp.cs and src/Prompuff.Cli/McpServerHost.cs to understand the existing stdio protocol, then read src/Prompuff.Cli/CliLibrary.cs and the platform installer and single instance files named in the issue. Implementing this spans the host protocol, browser registration across platforms, cleanup, and app integration. Done means the framed host tests pass, connecting and undoing works on the listed browsers and platforms, and docs/user-guide.md explains setup.

Written by the indexing model from the issue text.

Description

enhancement

The extension (#44, #45) talks to the library through native messaging: the browser starts a program and exchanges length-prefixed JSON with it over stdin and stdout. That program is the prompuff command, which already opens the library by the app's rules and speaks MCP over stdio.

What to do

  • Add a host mode to prompuff. Chrome and Edge pass the caller's origin as an argument, and Firefox passes the manifest path and the extension ID. The host searches, gets and renders prompts, sends text to Quick save in the running app, and does nothing else.
  • The host's manifest allows only Prompuff's own extension IDs (allowed_origins, allowed_extensions).
  • Connect a browser in Settings › Integrations writes the manifest into the browser's own folders, and can undo it:
    • Windows: a registry key under HKCU\Software\Google\Chrome\NativeMessagingHosts, HKCU\Software\Microsoft\Edge\NativeMessagingHosts and HKCU\Software\Mozilla\NativeMessagingHosts, pointing at a manifest in Prompuff's data folder. Registry code stays in src/Prompuff.App/Platform, behind OperatingSystem.IsWindows().
    • Linux and macOS: the manifest file in each browser's NativeMessagingHosts folder.
  • Writing into browser folders is outside Prompuff's own folders, so it's a step the user starts. Add it to the exception in AGENTS.md's cross-platform rules. Velopack's uninstall hook removes it on Windows.
  • The host opens no network connection and never logs titles, bodies or values.

Where to look

  • src/Prompuff.Cli/CliApp.cs and src/Prompuff.Cli/McpServerHost.cs: another stdio protocol in the same program
  • src/Prompuff.Cli/CliLibrary.cs: opening the library
  • src/Prompuff.App/Platform/CommandLineInstaller.cs: the install, remove and uninstall-hook pattern
  • src/Prompuff.App/Platform/SingleInstance.cs: how a second process reaches the running app

Done when

  • Tests drive the host with framed messages and cover a bad frame, an unknown origin and an oversized message.
  • Connect a browser works for Chrome, Edge and Firefox on Windows and in WSLg, and undoing it removes every file and key it wrote.
  • docs/user-guide.md describes connecting a browser.
Dominant language
C#
Stars
0
Forks
1
Avg merge
1h 21m
Merged PRs (30d)
22

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from hazeliscoding/prompuff

All issues in hazeliscoding/prompuff

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.