Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Role

This repo is a focused browser extension for collecting structured feedback from web pages, PDFs, and browser-visible surfaces. Treat it as a practical workflow tool and a portfolio anchor, not a throwaway extension.
This repo is a focused browser extension for collecting structured Element feedback from webpages. New Region/PDF capture is out of scope; keep previously saved Region/PDF records readable and exportable. Treat it as a practical workflow tool and a portfolio anchor, not a throwaway extension.

## Public Direction

Expand All @@ -22,7 +22,7 @@ This project should support Monroe's public story as a software engineer who bui
## Implementation Notes

- Manifest V3 extension.
- Core files are `manifest.json`, `popup.*`, `content.js`, `capture.*`, `background.js`, `shared.js`, and `styles.css`.
- Core files are `manifest.json`, `popup.*`, `content.js`, `collector.js`, `element.*`, `background.js`, `shared.js`, and `styles.css`.
- Keep permissions minimal and user-triggered.
- Preserve local-history compatibility when changing saved item shapes.

Expand All @@ -46,5 +46,5 @@ See `docs/agents/domain.md`.
## Verification

- Run `npm test` and `npm run check` before claiming behavior is ready.
- For UI behavior changes, manually load the unpacked extension in Chromium/Edge and test both Element and Region modes.
- For UI behavior changes, manually load the unpacked extension in Chromium/Edge and test Element picking, private note entry, Save & pick next, History editing, and selected exports. Verify legacy Region/PDF History remains readable; do not restore Region capture to satisfy old checklists.
- Run `git diff --check` before committing.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 1.8.0 Element-focused candidate (unreleased)

- Remove new Region/PDF capture and its screenshot/editor code. Preserve old records and exports.
- Replace the mode selector with one compact Pick an element action.
- Use a smaller private note editor with optional acceptance checks.
- Add Save & pick next and Cmd/Ctrl+Enter shortcuts.
- Open History in a private on-page panel, with an extension-menu fallback on restricted pages.
- Edit saved requests and acceptance checks while preserving captured context.
- Keep selected export previews, private History access, and draft-preserving save failures.

The earlier hardening entry below describes the broader intermediate candidate; its Region creation UI is superseded.


## 1.8.0 hardening candidate (unreleased)

- Keep Element and ordinary-page Region capture in private overlays; use a capture window for protected browser surfaces.
Expand Down
34 changes: 23 additions & 11 deletions CONTEXT.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
# Dev Feedback Capture Context

## Glossary

- **Page Capture.** Feedback captured from a browser-visible web page or PDF.
- **Element Capture.** A Page Capture focused on one identifiable page element and its surrounding evidence.
- **Region Capture.** A Page Capture focused on a selected visible region, annotations, and supporting context.
- **Capture Record.** One saved, portable feedback item with its request, evidence, and source context.
- **History.** The user-facing collection of saved Capture Records.
- **Feature Label.** A human-readable identity for a selected interface element, derived from explicit accessibility names, roles, and allowlisted Host App feature attributes.
- **Agent Handoff.** An explicit local transfer of Capture Records to a coding agent for implementation and separate verification.
- **Host App.** An Electron application whose developer explicitly installs and activates the Electron Inspector.
- **Electron Inspector.** The developer-only adapter that captures Host App interface feedback as Capture Records. It does not load or simulate the browser extension.
Feedback about identifiable webpage elements, collected for implementation and explicit verification.

## Language

**Element Capture**: Feedback about one selected webpage element, with its identity and observed page context.

**Change Request**: The user's description of what should change about an element.

**Acceptance Check**: A user-written condition for deciding whether a requested change is complete.

**Capture Record**: One saved feedback item with its change request, acceptance checks, and source context.

**History**: The user-facing collection of saved Capture Records.

**Legacy Region Capture**: A saved screenshot-based record from an earlier version, including any annotations and source context.

**Agent Handoff**: An explicit transfer of selected Capture Records to a coding agent for implementation and separate verification.

**Feature Label**: A human-readable identity for an interface element, derived from accessibility names, roles, or declared application attributes.

**Host App**: An Electron application whose developer explicitly installs and activates the Electron Inspector.

**Electron Inspector**: The developer-only adapter that captures Host App element feedback as Capture Records.
86 changes: 10 additions & 76 deletions QUICKSTART.md
Original file line number Diff line number Diff line change
@@ -1,80 +1,14 @@
# Quick Start Guide
# Quick start

Get Dev Feedback Capture running in a few minutes.
1. Install Dev Feedback Capture from the Chrome Web Store, or load the unpacked extension folder in Chrome/Edge Developer Mode.
2. Open a webpage, click the extension icon, and choose **Pick an element**.
3. Click the element and write what should change. Acceptance checks are optional.
4. Choose **Save note** or **Save & pick next**.
5. Open **History & export**. Edit a note if needed, then select the records you want to share.
6. Choose an export and review its notes, captured fields, and any legacy images before confirming.

This guide describes the unreleased 1.8.0 candidate: Element, Region/PDF, History, and one explicit Agent Handoff. Store and GitHub release notes in this repository preserve earlier submission evidence.
Cmd/Ctrl+Enter saves a note; adding Shift picks the next element. While picking, Tab to the target and press Alt+Enter. Escape stops picking or offers to discard the draft.

## 1. Install the extension
**Copy AI Prompt** gives you text to paste into a coding agent. **Send to Codex** downloads JSON for the separately configured local MCP companion. See `docs/mcp-local-agent.md` for inbox and project setup.

Preferred: install the public release from the [Chrome Web Store](https://chromewebstore.google.com/detail/dev-feedback-capture/hhdmfaaplpiokafjieefpgoppckijafc).

For source or fallback installation:

1. Download the latest `dev-feedback-capture-v<version>.zip` asset from GitHub Releases.
2. Unzip it.
3. Open `chrome://extensions/` or `edge://extensions/`.
4. Enable `Developer mode`.
5. Click `Load unpacked`.
6. Select the unzipped extension folder.

Optional for local PDFs:

7. Open the extension details page.
8. Enable `Allow access to file URLs`.

## 2. Capture an element

1. Open any `http`, `https`, or `file` page you want to inspect.
2. Open the extension popup.
3. Leave the mode on `Element`.
4. Click `Start Element Mode` or press `Ctrl+Shift+F` (`Command+Shift+F` on macOS).
5. Click a page element, add your note, and save it.
6. Save or cancel in the private overlay. Your source tab stays in place; use History to review saved captures.

## 3. Compile an annotated region spec

1. Open the target page or PDF in the browser.
2. Open the extension popup and switch to `Region`.
3. Click `Capture Region`.
4. Use `Crop` in the overlay to define the evidence area. Protected browser surfaces use a separate capture window.
5. Add arrows, rectangles, ellipses, numbered pins, text, or blur/redact marks. Use Undo and Redo as needed.
6. Describe the requested change and optionally add one acceptance check per line.
7. Save the visual change spec.

## 4. Export saved feedback

Open the extension popup and select `Open History & Export`. This extension-owned page works for captures from normal pages, PDFs, and other surfaces where the in-page panel is unavailable. Select the captures to share, choose an export, and review the preview before confirming. Filters clear selection and hidden captures stay out of exports. From History, you can:

- Download one `AI Bundle` ZIP with `prompt.md`, structured feedback and page context, before/annotated PNGs, and `report.html`
- Choose `Send to Codex` to place the selected handoff payload in the configured local Downloads inbox for MCP import
- Download a self-contained `HTML Report` with embedded region images
- Copy `Markdown` for issue trackers or docs
- Copy `AI Prompt` for ready-to-paste implementation instructions based on saved text and source context

AI Prompt is text-only. Use AI Bundle when the implementation handoff needs its numbered evidence images.

## 5. Give a local agent project-scoped feedback

1. In History, choose `Send to Codex` to review and download the selected captures.
2. Configure the MCP companion with the absolute target project path and the browser Downloads folder.
3. Ask the agent to call `dev_feedback_import_latest`. If the handoff contains multiple site/file groups, provide the exact `storageKey` shown by the first rejected import.
4. The agent can call `dev_feedback_list`, `dev_feedback_get`, and `dev_feedback_build_brief`, implement changes with its normal project tools, then record progress with `dev_feedback_status_update`.

Codex setup is one command per target project:

```sh
codex mcp add dev-feedback -- node /absolute/path/to/webDevFeedbackExt/mcp/cli.mjs \
--project /absolute/path/to/project \
--inbox /absolute/path/to/Downloads
```

The extension places the file in the inbox; users do not need to move it manually. Implementation and verification remain separate steps.

Setup and security boundaries are in `docs/mcp-local-agent.md`.

## Need Help?

- Full docs: see `README.md`
- PDF capture issues on local files: check `Allow access to file URLs`
- Element capture unavailable: use `Region` mode on non-injectable browser surfaces
- Region capture saves viewport-only crops in v1, not full-page screenshots
New Region/PDF capture is no longer offered. Previously saved records remain available in History. Capture requires an accessible webpage; browser-internal pages and PDF viewers are unsupported.
Loading
Loading