Skip to content

Feature/gemini support and cli ux#7

Open
saeed-vayghan wants to merge 5 commits into
NVIDIA:mainfrom
saeed-vayghan:feature/gemini-support-and-cli-ux
Open

Feature/gemini support and cli ux#7
saeed-vayghan wants to merge 5 commits into
NVIDIA:mainfrom
saeed-vayghan:feature/gemini-support-and-cli-ux

Conversation

@saeed-vayghan

Copy link
Copy Markdown

Feature: Gemini Support & CLI UX Improvements

Overview

This PR adds support for gemini-3.5-flash and significantly improves the CLI by adding real-time visual progress tracking for long scans.

Key Changes

  • Live Progress & File Tree: Added a real-time progress bar and a visual file discovery tree so users aren't left waiting on a blank screen.
  • Clean JSON Exports: Safely routed all progress UI to stderr, ensuring stdout remains perfectly clean when using --format json.
  • Gemini Support: Officially registered gemini-3.5-flash to prevent token limit errors and added a setup example to the README.md.
  • Cleanup: Suppressed noisy Pydantic warnings, cleaned up error stack traces, and added report* to .gitignore.

Testing

  • Run skillspector scan ./my-skill/ to see the new progress bar.
  • Run skillspector scan ./my-skill/ --format json > out.json to verify the JSON output remains uncorrupted.

This commit adds 'gemini-3.5-flash' to the model registries across various providers to prevent token-limit warnings. It also updates the exception handling in mcp_tool_poisoning to gracefully catch non-fatal LLM check failures without printing noisy tracebacks.
…overy

- Swapped the synchronous graph invoke for a streamed execution when verbose mode is off.

- Integrated rich.progress to provide immediate feedback to users during long-running security scans.

- Added a file tree breakdown right after the context is built, so users know exactly which files are being picked up for analysis.

- Explicitly suppressed Pydantic's serializer warnings that were cluttering the terminal output during structured LLM generation.

- The UI now actively ticks off the analyzer rules as they finish, removing the guesswork when waiting on slower LLM checks.
- Provided a clear snippet for using the Gemini API via the OpenAI compatibility layer.
- Prevented the new progress UI from corrupting stdout when using --format json or sarif.
- Added `report*` to .gitignore to prevent accidentally committing local scan reports.
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.

1 participant