Files
prowler/ui
Alan Buscaglia 5a85752839 fix(ui): UX improvements for findings grouped view — Pepe's feedback
Address 6 UX items from Pepe's product review:

- Lighthouse AI: change 'View This Finding' to 'Analyze This Finding
  With Lighthouse AI'
- Remediation headings: shorten 'Terraform Command' to 'Terraform' and
  'CloudFormation Command' to 'CloudFormation' for cleaner labels
- Search on Enter: split resourceSearch into input display state and
  committed search state, fire actual search only on Enter key.
  Remove resourceSearch from InlineResourceContainer key to prevent
  full remount on every keystroke
- Muted icon: add 'Muted' text indicator with VolumeX icon in resource
  row status cell for muted findings
- Risk section: wrap in danger-styled container with border-danger and
  bg-bg-fail-secondary background for visual emphasis
- Section headings: upgrade Risk/Description labels from text-xs to
  text-sm font-semibold. Add border separator after Description section

Also fix pre-existing React.ReactNode namespace usage in data-table.tsx
(replaced with named import type).

18 tests across 3 test suites (2 new, 1 extended). All passing.
Judgment Day: 1 round, 0 CRITICAL, warnings documented as follow-ups.

Known follow-ups:
- Spinner fires on keystroke in commit-on-Enter mode (cosmetic)
- Debounce timer not cancelled on Enter (edge case, no crash)
- Remediation card labels still text-xs (inconsistent with overview)
2026-03-30 16:34:07 +02:00
..
2024-11-25 13:15:14 +01:00
2024-11-25 13:15:14 +01:00
2024-11-25 13:15:14 +01:00

Description

This repository hosts the UI component for Prowler, providing a user-friendly web interface to interact seamlessly with Prowler's features.

🚀 Production deployment

Docker deployment

Clone the repository

# HTTPS
git clone https://github.com/prowler-cloud/ui.git

# SSH
git clone git@github.com:prowler-cloud/ui.git

Build the Docker image

docker build -t prowler-cloud/ui . --target prod

Run the Docker container

docker run -p 3000:3000 prowler-cloud/ui

Local deployment

Clone the repository

# HTTPS
git clone https://github.com/prowler-cloud/ui.git

# SSH
git clone git@github.com:prowler-cloud/ui.git

Build the project

pnpm run build

Run the production server

pnpm start

🧪 Development deployment

Docker deployment

Clone the repository

# HTTPS
git clone https://github.com/prowler-cloud/ui.git

# SSH
git clone git@github.com:prowler-cloud/ui.git

Build the Docker image

docker build -t prowler-cloud/ui . --target dev

Run the Docker container

docker run -p 3000:3000 prowler-cloud/ui

Local deployment

Clone the repository

# HTTPS
git clone https://github.com/prowler-cloud/ui.git

# SSH
git clone git@github.com:prowler-cloud/ui.git

Install dependencies

pnpm install

Note: The pnpm install command will automatically configure Git hooks for code quality checks. If you experience issues, you can manually configure them:

git config core.hooksPath "ui/.husky"

Run the development server

pnpm run dev

Technologies Used

Git Hooks & Code Review

This project uses Git hooks to maintain code quality. When you commit changes to TypeScript/JavaScript files, the pre-commit hook can optionally validate them against our coding standards using Claude Code.

Enabling Code Review

To enable automatic code review on commits, add this to your .env file in the project root:

CODE_REVIEW_ENABLED=true

When enabled, the hook will:

  • ✅ Validate your staged changes against AGENTS.md standards
  • ✅ Check for common issues (any types, incorrect imports, styling violations, etc.)
  • ✅ Block commits that don't comply with the standards
  • ✅ Provide helpful feedback on how to fix issues

Disabling Code Review

To disable code review (faster commits, useful for quick iterations):

CODE_REVIEW_ENABLED=false

Or remove the variable from your .env file.

Requirements

  • Claude Code CLI installed and authenticated
  • .env file in the project root with CODE_REVIEW_ENABLED set

Troubleshooting

If hooks aren't running after commits:

# Verify hooks are configured
git config --get core.hooksPath  # Should output: ui/.husky

# Reconfigure if needed
git config core.hooksPath "ui/.husky"