Skip to content

Conversation

@ChrisEdwards
Copy link
Collaborator

@ChrisEdwards ChrisEdwards commented Oct 7, 2025

Summary

This PR comprehensively overhauls the documentation to improve usability, consistency, and production-readiness. The main achievement is separating installation instructions into dedicated, platform-specific guides while streamlining the main README to focus on quick start and key features.

Key Improvements:

  • ✅ Created 6 dedicated installation guides with consistent structure
  • ✅ Reduced README complexity while improving discoverability
  • ✅ Added AI agent workflow documentation (AGENTS.md)
  • ✅ Enhanced developer documentation (CLAUDE.md)
  • ✅ Fixed typos, grammar issues, and formatting inconsistencies
  • ✅ Standardized configuration examples across all platforms

Changes by Category

📚 New Documentation Files

Installation Guides (docs/installation-guides/)

  • install-vscode.md - VS Code with GitHub Copilot (features one-click install + input variables)
  • install-intellij.md - IntelliJ IDEA with GitHub Copilot
  • install-claude-code.md - Anthropic's official CLI tool
  • install-claude-desktop.md - Standalone Claude application
  • install-cline.md - VS Code alternative AI assistant
  • install-oterm.md - Terminal wrapper for Ollama with local LLMs
  • README.md - Index page for all installation guides

Each guide follows a consistent structure:

  1. Prerequisites section with official docs links
  2. Docker deployment (recommended)
  3. JAR deployment alternative
  4. Verification steps
  5. Troubleshooting guidance
  6. References to main README for proxy config and common issues

📝 README.md Refactoring

Structure Changes:

  • Before: 400+ lines with embedded installation instructions for every platform
  • After: 320 lines focused on quick start, sample prompts, and common issues

Improvements:

  1. Quick Start Section - Docker-first approach with one-click VS Code install
  2. Featured Platforms - VS Code and IntelliJ prominently shown with quick config
  3. Sample Prompts - Reorganized with clearer categories and better formatting:
    • Remediate Vulnerabilities in Code
    • Third-Party Library Remediation
    • Retrieve Applications by Tag/Metadata
    • Retrieve Vulnerabilities by Session Metadata
  4. Proxy Configuration - Clarified "choose ONE approach" (not both)
  5. Common Issues - Maintained troubleshooting section with links to detailed guides

Visual Improvements:

  • Security warning formatted as GitHub callout block (> [!WARNING])
  • Better badge styling for VS Code one-click install (for-the-badge style)
  • Cleaner sectioning and navigation

🔄 Consistency & Standardization

MCP Server Name:

  • Standardized to "contrast" across all configuration examples
  • Previously mixed usage of "contrastmcp" and "contrast-mcp"

Configuration Examples:

  • All examples use example.contrastsecurity.com (host-agnostic)
  • Consistent environment variable naming
  • Uniform JSON formatting across all guides

Documentation References:

Content Cleanup:

  • Removed "Next Steps" and "Related Documentation" sections from guides (simplification)
  • Removed duplicate information across files (DRY principle)
  • Centralized troubleshooting and proxy config in main README

🔧 CLAUDE.md Enhancements

Updated Build Commands:

  • Added package without tests: mvn clean package -DskipTests
  • Added single test run: mvn test -Dtest=HintGeneratorTest
  • Updated JAR version references

Enhanced Architecture Documentation:

  • Expanded SDK Extensions section with detailed pattern explanation
  • Added SDKExtension.java and SDKHelper.java descriptions
  • Documented data model organization by domain
  • Improved service layer descriptions
  • Added pagination handling patterns

Development Patterns:

  • Service registration workflow
  • SDK extension pattern usage
  • Hint generation system details
  • Resource management best practices

Agent Guidelines (AGENTS.md)

  • Documents beads (bd) workflow for issue tracking
  • Explains MCP server integration for AI agents
  • Provides Jira integration best practices
  • Establishes conventions for AI-generated planning documents
  • Includes quick reference commands and examples

Review Guide

🎯 Areas to Focus On

  1. Installation Guides (docs/installation-guides/)

    • Verify each guide is complete and accurate for its platform
    • Check that Docker commands work correctly
    • Validate JAR deployment instructions
    • Ensure troubleshooting sections are helpful
  2. README.md Quick Start

    • Test VS Code one-click install button functionality
    • Verify IntelliJ quick start configuration works
    • Confirm links to detailed guides are correct
  3. Configuration Consistency

    • All examples use same server name ("contrast")
    • Environment variables consistent across guides
    • JSON syntax valid in all code blocks
  4. Documentation References

    • External links to official docs are accurate
    • Internal cross-references work correctly

🧪 Testing Checklist

  • VS Code one-click install button works
  • All internal documentation links navigate correctly
  • Code examples have valid JSON syntax
  • Docker commands execute successfully
  • JAR deployment instructions are accurate
  • Proxy configuration examples are correct

📊 Impact Assessment

Lines Changed:

  • +1,332 additions (new installation guides + AGENTS.md)
  • -397 deletions (README consolidation)
  • Net: +935 lines

Files Modified: 10

  • 6 new installation guide files
  • 1 new AGENTS.md file
  • 3 updated files (README.md, CLAUDE.md, installation-guides/README.md)

User Experience Impact:

  • Significantly improved discoverability (platform-specific guides)
  • Faster onboarding (one-click install, clearer quick start)
  • Better troubleshooting (dedicated sections per platform)
  • Reduced confusion (consistent naming, clearer structure)

Migration Notes

No breaking changes. All existing configurations continue to work. Users with "contrastmcp" as their server name can optionally update to "contrast" for consistency, but it's not required.

🤖 Generated with Claude Code

ChrisEdwards and others added 3 commits October 6, 2025 20:53
Restructured README to highlight the one-click VS Code install button:
- Moved install button from status badge section to dedicated Quick Install section
- Changed badge style to for-the-badge for better visibility
- Positioned Quick Install after description, before security warnings
- Added clear labeling and reference to other installation options

Also updated CLAUDE.md with latest build commands and architecture details.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Converted the security warning section to use GitHub's callout syntax
(> [!WARNING]) for better visual prominence and consistency with
modern GitHub Markdown formatting.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Updated VS Code one-click install links to use input variable pattern
(${input:...}) instead of hardcoded example credentials. This follows
MCP security best practices by prompting users for credentials during
installation rather than exposing placeholder values.

Also refined the overview statement and improved warning formatting.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
ChrisEdwards and others added 21 commits November 7, 2025 13:44
Resolved conflicts in CLAUDE.md and README.md:
- Kept improved documentation structure from AIML-83 branch
- Integrated Testing section from main after Build section
- Excluded Beads workflow documentation from public CLAUDE.md
- Maintained detailed TOC with all subsections

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Move client-specific installation instructions to docs/installation-guides/
- Change terminology from "clients" to "MCP hosts"
- Add both Docker and JAR deployment options to all guides
- Create separate Download and Build from Source sections
- Update API credentials link to personal-keys.html
- Remove SNAPSHOT suffix from release JAR references
- Add comprehensive installation guides index with deployment comparison
- Keep VS Code installation prominent with one-click install

Each installation guide now includes:
- Prerequisites with deployment method choices
- Docker deployment (recommended)
- JAR deployment with download/build instructions
- Verification steps and troubleshooting

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Show only Docker configurations on main README for primary users
- IntelliJ and VS Code get complete Docker configs (copy-paste ready)
- Remove duplicate VS Code install button from Installation section
- Move Claude Desktop, Cline, oterm to "Other Hosts" with links only
- Simplify Quick Start to actionable steps
- Update Navigation table to reflect new structure
- Reduce installation friction by showing configs directly
- JAR deployment available via detailed guides

Main README now shows 2 Docker configs instead of attempting to show all
options. Serves IntelliJ (Java developers) and VS Code (web developers)
as primary audiences. Other hosts and JAR deployment one click away.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
## README Changes
- Consolidated Quick Start with Docker configs for IntelliJ & VS Code
- Removed duplicate Installation section (configs now in Quick Start)
- Removed Navigation table (document is concise enough)
- Moved Data Privacy to end with advanced topics
- Improved flow: Quick Start → Sample Prompts → Download → Advanced

## Installation Guide Updates
- Added Claude Code installation guide with CLI-based setup
- Added "(GitHub Copilot)" clarification to VS Code and IntelliJ guides
- Clarified VS Code "Manual Installation" is Docker-based
- Simplified "Related Documentation" to only link to main README and guides index
- All guides now clearly separate Docker vs JAR deployment options

## Result
Users can now get started faster with complete Quick Start configs and clear
installation instructions across all supported MCP hosts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Add official Claude Code documentation reference link
- Clarify placeholder replacement instructions across all guides
- Improve formatting and readability of setup steps
- Remove redundant alternative environment variable section from Claude Desktop guide
- Standardize credential replacement messaging

These changes make it easier for users to understand when and how to replace
placeholder values with their actual Contrast credentials during setup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Document proper bead title format with Jira issue ID prefix
- Require external_ref parameter for Jira ticket linkage
- Add reference to AGENTS.md from CLAUDE.md for workflow details

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Consolidate Download and Build from Source into "Getting the JAR File" section
  with download as recommended option
- Add introductory explanation for proxy configuration (corporate firewall use cases)
- Simplify proxy examples to show only the changes needed instead of full configs
- Fix VS Code proxy config to reference installation guide instead of showing
  inconsistent configuration
- Make it clearer what needs to be added for proxy support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Clarify that MCP proxy config applies to ANY host (IntelliJ, VS Code,
  Claude Desktop, Cline, etc.), not just VS Code
- Use IntelliJ mcp.json as complete example to show concrete implementation
- Keep generic "what to add" instructions separate from host-specific example
- Add note about VS Code's special input variable handling with link to guide

This prevents confusion that proxy docs are VS Code-specific.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Add #### headings to separate Direct Command vs MCP Configuration sections
  making it much easier to see document structure
- Make Java proxy command multi-line for better readability
- Show only the two properties/variables to add first, then complete examples
- Add complete IntelliJ mcp.json example for JAR proxy configuration
- Consistent "what to add" + "complete example" pattern throughout

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Add "Choose ONE of the following" to both JAR and Docker proxy sections
- Explain when to use Direct Command vs MCP Configuration File
- Prevents confusion that users need to configure both options
- Makes it clear: use Direct Command for CLI or MCP Config for MCP hosts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Reduce from 157 to 28 lines (82% reduction)
- Convert to minimal navigation: Quick Links + Deployment comparison
- Remove verbose feature lists - users know their tool, just need directions
- Remove redundant requirements/help sections - details in individual guides
- Users can now find their guide in ~3 seconds vs scrolling 150+ lines

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Use parentheses notation for both VS Code (GitHub Copilot) and
  IntelliJ IDEA (GitHub Copilot)
- Remove descriptions from Quick Links - just clean tool names
- Eliminates mixing of "what it is" vs "how to install" descriptions
- Cleaner, faster navigation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Rename "Quick Links" to "MCP Hosts" for clarity
- Add note that server works with any MCP-compatible client
- Guide users to adapt configs from documented hosts if theirs isn't listed
- Makes it clear these are documented hosts, not the only supported ones

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Add note block linking to VS Code's official MCP servers documentation
- Consistent with Claude Code guide format and placement
- Helps users access official documentation for additional context

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Change "contrastmcp" to "contrast" in all JSON configurations
- Change "contrast-mcp" to "contrast" in VS Code install buttons
- Consistent naming makes it simpler and cleaner for users
- Affects README and all installation guides

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Button displays 'Install contrast-mcp' for clarity
- Actual MCP server name remains 'contrast' in configuration
- Balance between marketing visibility and technical simplicity

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Link from configuration scope step to detailed explanation below
- Helps users understand the difference before choosing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Add note block linking to Anthropic's MCP server connection documentation
- Consistent with Claude Code and VS Code guide format

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Add note block linking to Cline's MCP server configuration documentation
- Consistent with other guide formats

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Remove Next Steps sections from all installation guides
- Remove Related Documentation sections from all guides
- Keep only essential content focused on installation
- Minor wording improvement to Claude Desktop note

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Fix typo: "loctaion" → "location" in certificate truststore path
- Fix typo: "witin" → "within" in log location description
- Fix typo: "sesssion" → "session" in sample prompts
- Fix grammar: "you Contrast" → "your Contrast" in VS Code guide
- Improve consistency and punctuation in sample prompts section
- Clean up formatting in debug logging code example

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@ChrisEdwards ChrisEdwards marked this pull request as ready for review November 11, 2025 21:57
Copy link
Collaborator

@JacobMagesHaskinsContrast JacobMagesHaskinsContrast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 question about the beads directions in AGENTS.md. Otherwise this looks good.

@ChrisEdwards ChrisEdwards merged commit 30c39bf into main Nov 13, 2025
4 checks passed
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.

3 participants