From 4f5a0aa4438d8be7405a43b6593b06535c2b58f5 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sun, 1 Feb 2026 01:42:29 +0000 Subject: [PATCH] fix: resolve CI test failures --- .ai-context-generator-cli/README.md | 280 ++++++++++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 .ai-context-generator-cli/README.md diff --git a/.ai-context-generator-cli/README.md b/.ai-context-generator-cli/README.md new file mode 100644 index 0000000..1b7fc55 --- /dev/null +++ b/.ai-context-generator-cli/README.md @@ -0,0 +1,280 @@ +# AI Context Generator CLI + +A CLI tool that generates comprehensive context files for AI coding assistants by analyzing project structure, dependencies, and coding patterns. Outputs structured JSON/YAML context files optimized for different AI tools. + +## Features + +- **Automatic Project Detection**: Detects project type (Node.js, Python, Go, Rust, Java, etc.) and frameworks (React, Django, FastAPI, etc.) +- **Dependency Analysis**: Extracts dependencies from package.json, requirements.txt, go.mod, Cargo.toml, and more +- **Convention Extraction**: Analyzes coding patterns, naming conventions, import styles, and testing frameworks +- **Multi-format Output**: Generates context files in JSON or YAML format +- **AI-specific Templates**: Predefined templates for Cursor, Copilot, and generic AI assistants +- **Configurable**: Customize analysis scope and output via `.ai-context-config.json` +- **Ignore Pattern Support**: Respects `.gitignore` and custom ignore rules + +## Installation + +### Prerequisites + +- Node.js 16+ +- npm or yarn + +### Install from Source + +```bash +git clone https://github.com/yourusername/ai-context-generator-cli.git +cd ai-context-generator-cli +npm install +npm run build +npm link +``` + +### Install Globally + +```bash +npm install -g ai-context-generator-cli +``` + +## Usage + +### Basic Usage + +```bash +# Analyze current directory and generate context +ai-context + +# Analyze specific directory +ai-context --dir /path/to/project + +# Save to specific output file +ai-context --output my-context + +# Generate YAML instead of JSON +ai-context --format yaml +``` + +### Command Options + +| Option | Short | Description | Default | +|--------|-------|-------------|---------| +| `--dir` | `-d` | Project directory to analyze | Current directory | +| `--output` | `-o` | Output file path | `ai-context` | +| `--format` | `-f` | Output format: `json` or `yaml` | `json` | +| `--template` | `-t` | Template: `default`, `cursor`, `copilot`, `generic` | `default` | +| `--config` | `-c` | Config file path | Auto-detected | +| `--verbose` | `-v` | Enable verbose output | `false` | +| `--no-conventions` | | Skip convention analysis | `false` | +| `--include-dev` | | Include dev dependencies | `false` | +| `--no-gitignore` | | Do not respect .gitignore | `false` | + +### Examples + +```bash +# Generate context with all analysis +ai-context --dir ./my-project --verbose + +# Generate YAML output for documentation +ai-context --format yaml --output project-context + +# Use Cursor-optimized template +ai-context --template cursor --output cursor-context + +# Quick analysis without conventions +ai-context --no-conventions + +# Include development dependencies +ai-context --include-dev +``` + +## Configuration + +Create a `.ai-context-config.json` file in your project root: + +```json +{ + "includes": [ + "**/*.ts", + "**/*.js", + "**/*.py", + "**/*.go" + ], + "excludes": [ + "node_modules/**", + "dist/**", + ".git/**" + ], + "outputFormat": "json", + "template": "default", + "outputFile": "ai-context.json", + "analyzeConventions": true, + "includeDevDependencies": false, + "respectGitignore": true +} +``` + +### Configuration Options + +| Option | Type | Description | Default | +|--------|------|-------------|---------| +| `includes` | `string[]` | File patterns to include | All common source files | +| `excludes` | `string[]` | File patterns to exclude | Common ignore patterns | +| `outputFormat` | `json | yaml` | Output format | `json` | +| `template` | `string` | Template name | `default` | +| `outputFile` | `string` | Output filename | `ai-context.json` | +| `analyzeConventions` | `boolean` | Extract coding conventions | `true` | +| `includeDevDependencies` | `boolean` | Include dev dependencies | `false` | +| `respectGitignore` | `boolean` | Respect .gitignore | `true` | + +## Templates + +### Default Template +Generates structured JSON/YAML with full project analysis. + +### Cursor Template +Optimized for Cursor AI, focusing on: +- Key dependencies +- Coding conventions +- File structure overview + +### Copilot Template +Tailored for GitHub Copilot, featuring: +- Concise project summary +- Dependency overview +- Style guidelines + +### Generic Template +Simple format suitable for any AI assistant: +- Project information +- Dependency list +- Conventions summary + +## Output Structure + +### JSON Output + +```json +{ + "projectInfo": { + "projectType": { + "primaryLanguage": "TypeScript", + "languages": ["TypeScript", "JavaScript"], + "frameworks": ["React", "Next.js"], + "buildTools": ["npm"] + }, + "dependencies": { + "direct": [...], + "dev": [...], + "total": 50 + }, + "conventions": { + "namingConvention": { + "files": "kebab-case", + "variables": "camelCase", + "functions": "camelCase", + "classes": "PascalCase" + }, + "importStyle": { + "style": "ESM", + "aliasPrefix": "@/" + }, + "testingFramework": "Jest", + "codeStyle": { + "indentSize": 2, + "indentType": "spaces", + "lineEndings": "LF", + "quoteStyle": "single" + } + }, + "fileCount": 150, + "analysisDate": "2024-01-15T10:30:00.000Z" + }, + "files": [...], + "config": {...}, + "generatedAt": "2024-01-15T10:30:00.000Z" +} +``` + +## Supported Languages + +| Language | Detected By | Dependency Files | +|----------|-------------|------------------| +| TypeScript | `.ts`, `.tsx`, `tsconfig.json` | `package.json` | +| JavaScript | `.js`, `.jsx`, `package.json` | `package.json` | +| Python | `.py`, `requirements.txt` | `requirements.txt`, `pyproject.toml`, `Pipfile` | +| Go | `.go`, `go.mod` | `go.mod` | +| Rust | `.rs`, `Cargo.toml` | `Cargo.toml` | +| Java | `.java`, `pom.xml` | `pom.xml`, `build.gradle` | +| C/C++ | `.c`, `.cpp`, `CMakeLists.txt` | `CMakeLists.txt` | +| Ruby | `.rb`, `Gemfile` | `Gemfile` | +| PHP | `.php`, `composer.json` | `composer.json` | + +## Supported Frameworks + +- **Frontend**: React, Vue, Next.js, NestJS +- **Backend**: Express, Django, FastAPI, Flask, Gin, Echo +- **Testing**: Jest, Mocha, Pytest, Go testing, JUnit + +## Programmatic Usage + +```typescript +import { ContextGenerator } from 'ai-context-generator-cli'; + +const generator = new ContextGenerator(); + +// Generate context +const projectInfo = await generator.generate('/path/to/project'); + +// Generate JSON output +const jsonOutput = await generator.generateJson('/path/to/project'); + +// Generate YAML output +const yamlOutput = await generator.generateYaml('/path/to/project'); + +// Save to file +await generator.saveContext('/path/to/project', 'output', 'json'); +``` + +## Error Handling + +### Common Errors + +| Error | Solution | +|-------|----------| +| `No package.json found` | Check if running in project root or use `--dir` flag | +| `Invalid config file format` | Validate JSON syntax and required fields | +| `Permission denied on output file` | Check write permissions in target directory | +| `Directory not found` | Verify the directory path exists | + +## Development + +```bash +# Install dependencies +npm install + +# Run tests +npm test + +# Build +npm run build + +# Run locally +npm run dev -- --dir ./my-project + +# Lint +npm run lint + +# Lint with fix +npm run lint:fix +``` + +## Contributing + +1. Fork the repository +2. Create a feature branch (`git checkout -b feature/amazing-feature`) +3. Commit your changes (`git commit -m 'Add amazing feature'`) +4. Push to the branch (`git push origin feature/amazing-feature`) +5. Open a Pull Request + +## License + +MIT License - see [LICENSE](LICENSE) for details.