Add standardized CLAUDE.md documentation for ast-cli-javascript-wrapper-runtime-cli (AST-146806)#202
Add standardized CLAUDE.md documentation for ast-cli-javascript-wrapper-runtime-cli (AST-146806)#202cx-rahul-pidde wants to merge 3 commits intomainfrom
Conversation
- Comprehensive development guide following standardization template (AST-146793) - Includes all essential sections: Project Overview, Architecture, Repository Structure, Technology Stack, Development Setup, Coding Standards, Project Rules, Testing Strategy, and Known Issues - Includes recommended sections: External integrations (AST CLI, Azure Pipelines, GitHub), Deployment info, Performance considerations, API/Endpoints, Security & Access, Logging, and Debugging Steps - Covers design patterns (Multiton, Semaphore, Configuration) - Detailed setup instructions for Windows and Linux - Comprehensive testing strategy with coverage thresholds and Jest configuration - Security guidelines for authentication, credentials, and proxy management - Debugging guide with common issues and solutions - Contributing and release process documentation Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
Great job! No new security vulnerabilities introduced in this pull request |
cx-atish-jadhav
left a comment
There was a problem hiding this comment.
Thanks for putting this together — the structure is solid and hits every section the Jira epic calls out. However, I found several claims that don't match the current state of the repo. Leaving inline comments below; most are quick fixes. Happy to chat if any are unclear.
| │ │ │ ├── ExecutionService.ts | ||
| │ │ │ ├── CxCommandOutput.ts | ||
| │ │ │ ├── CxParamType.ts | ||
| │ │ │ ├── loggerConfig.ts |
There was a problem hiding this comment.
Missing CxWrapperFactory.ts — it exists at src/main/wrapper/CxWrapperFactory.ts and should be listed here alongside the other wrapper files.
| │ │ │ ├── CxCommandOutput.ts | ||
| │ │ │ ├── CxParamType.ts | ||
| │ │ │ ├── loggerConfig.ts | ||
| │ │ │ └── resources/ # Binary resources |
There was a problem hiding this comment.
This folder doesn't exist in the repo. tsconfig.json:20 also references it — likely stale in both places. Please remove it from the tree (and consider cleaning up tsconfig.json separately).
| │ │ │ └── CxLearnMoreSamples.ts | ||
| │ │ ├── predicates/ # Predicate operations | ||
| │ │ │ └── CxPredicate.ts | ||
| │ │ └── index.ts # Main export file |
There was a problem hiding this comment.
There is no src/main/index.ts in the repo. package.json uses dist/main/wrapper/CxWrapper.js as the main entry instead. Either remove this line or create the index file.
| │ │ │ └── CxPredicate.ts | ||
| │ │ └── index.ts # Main export file | ||
| │ └── tests/ | ||
| │ ├── unit/ # Unit tests |
There was a problem hiding this comment.
Misleading — most *Test.test.ts files live directly under src/tests/ (AuthTest, ChatTest, MaskTest, ProjectTest, ResultTest, ScanTest, etc.). Only AstClientCreateProxyRequestHandler.test.ts is in unit/. Please reflect the actual layout.
| - **node-fetch**: ^3.3.2 - Fetch API for Node.js | ||
| - **tar**: ^7.5.11 - TAR archive handling | ||
| - **unzipper**: ^0.12.3 - ZIP archive extraction | ||
| - **tunnel**: (used indirectly) - HTTPS over HTTP tunneling for proxies |
There was a problem hiding this comment.
tunnel is imported directly in src/main/client/AstClient.ts:4 (import * as tunnel from 'tunnel';), but it is not declared in package.json dependencies — it currently resolves transitively. Description should be corrected, and ideally tunnel should be added as a direct dependency so the package doesn't break if the transitive dep changes.
| ### Publishing a New Version | ||
|
|
||
| 1. Update version in `package.json` | ||
| 2. Update CHANGELOG.md |
There was a problem hiding this comment.
Same as line 321 — no CHANGELOG.md exists in the repo, so this step isn't actionable as written.
| - `update-cli.yml` - Updates AST CLI binary reference | ||
| - `nightly.yml` - Nightly build and test run | ||
| - `auto-merge-pr.yml` - Auto-merges dependency updates | ||
| - `dependabot-auto-merge.yml` - Dependabot PR automation |
There was a problem hiding this comment.
This list is missing two workflows that exist in .github/workflows/: delete-packages-and-releases.yml and pr-automation.yml. Please add them.
|
|
||
| ```typescript | ||
| class CxWrapper { | ||
| static getInstance(config: CxConfig): Promise<CxWrapper> |
There was a problem hiding this comment.
Wrong signature. Actual signature in src/main/wrapper/CxWrapper.ts:53 is static async getInstance(cxScanConfig: CxConfig, logFilePath: string): Promise<CxWrapper> — logFilePath is a required second argument.
| static getInstance(config: CxConfig): Promise<CxWrapper> | ||
| config: CxConfig | ||
| cxInstaller: CxInstaller | ||
| scanWithCLI(params: CxParamType[]): Promise<CxCommandOutput> |
There was a problem hiding this comment.
scanWithCLI does not exist on CxWrapper. The actual scan-related methods are scanCreate, scanCancel, scanShow, scanList, scanAsca, etc. (see src/main/wrapper/CxWrapper.ts:125 onward). Replace this with the real methods or drop the line.
| - `tenant`: Tenant identifier | ||
| - `pathToExecutable`: Path to AST CLI binary | ||
| - `additionalParameters`: Extra CLI arguments | ||
| - `proxy`: HTTP proxy configuration (via environment) |
There was a problem hiding this comment.
CxConfig does not have a proxy property — see src/main/wrapper/CxConfig.ts. Proxy is read only from the HTTP_PROXY env var inside AstClient. Please remove this bullet to avoid misleading readers.

Summary
Create standardized CLAUDE.md file for the ast-cli-javascript-wrapper-runtime-cli repository following the Cloud MD file standardization template defined in epic AST-146793.
This comprehensive development guide includes all essential sections and recommended sections to improve understanding and consistency in deployment and maintenance.
Overview
The CLAUDE.md file serves as the central source of truth for developers working on this project, providing complete documentation of:
Key Features
✅ Project Overview - Purpose, status, and key functionality of the AST CLI JavaScript wrapper
✅ Architecture - System design with module diagram and design patterns (Multiton, Semaphore, Configuration)
✅ Repository Structure - Complete folder organization documenting 15+ feature modules
✅ Technology Stack - All dependencies, versions, and build tools (TypeScript, Jest, ESLint, Node.js, etc.)
✅ Development Setup - Step-by-step installation and configuration for Windows and Linux
✅ Coding Standards - TypeScript strict mode, naming conventions, code style, documentation guidelines
✅ Project Rules - Critical constraints, must-have checks before PRs, Git workflow
✅ Testing Strategy - Jest configuration, coverage thresholds (80% lines/functions, 60% branches), best practices
✅ Known Issues - Current limitations and documented workarounds
✅ Deployment Information - Package publication process and CI/CD workflows
✅ External Integrations - AST CLI binary, Azure Pipelines, GitHub Actions
✅ Performance Considerations - Optimization areas, bottlenecks, and metrics
✅ API & Endpoints - Main entry points (CxWrapper) and all feature modules documented
✅ Security & Access - Authentication methods, credential management, proxy support, RBAC, audit logging
✅ Logging - log4js configuration, log levels, best practices
✅ Debugging Steps - Common issues with solutions, debug techniques, VS Code setup
Documentation Highlights
Architecture Section
Development Setup
Coding Standards
Testing Strategy
Security & Access
Debugging Guide
Changes Made
CLAUDE.md(922 lines)Acceptance Criteria
Related Issues
Testing
Documentation has been reviewed for:
🤖 Generated with Claude Code