Skip to content

Conversation

@ShivamB25
Copy link

Summary

  • restructure the tool into a src-based package with constants, language detection, file operations, CLI entry point, and markdown generator modules, removing the legacy app.py script
  • update packaging metadata and lockfile so the codecontexter console script is published from the new layout
  • document installation, CLI arguments, report layout, configuration points, development workflow, and roadmap in README.md

Commit lineage

  • a367f96 Add README.md with project overview, features, installation, CLI usage, report layout, configuration, and development instructions
  • e698b63 Add FileMetadata model and Markdown output generator; update project metadata and lockfile
  • ce7eebe Remove legacy monolithic app.py
  • 1c0a5ab Add file operations and language detection modules
  • 8a694cb Add CLI entrypoint for generating enhanced Markdown summaries
  • 2d67d4d Add constants module with language mappings and ignore patterns
  • 477950e Add package structure with init.py files
  • 4b7c6e6 Add .serena/ to .gitignore
  • 3152ccd Normalize formatting and remove unused imports
  • a99ed2e Add comprehensive .gitignore covering Python artifacts, virtualenvs, build/dist files, and common IDE/tool caches

ShivamB25 and others added 10 commits October 31, 2025 19:02
…build/dist files, and common IDE/tool caches
- Remove unused imports (mimetypes, concurrent.futures, as_completed, unused typing names)
- Simplify typing imports to only what's used
- Normalize string quoting and spacing for consistency (use double quotes)
- Reflow long lines and improve readability (multi-line constructs, blank lines)
- Minor refactors: clearer tqdm fallback layout, tidy file/path handling and logging messages

No functional changes intended; purely stylistic and cleanup.
- Add src/codecontexter/__init__.py exposing main() and FileMetadata
- Add src/__init__.py for proper package structure
- Follow src-layout Python packaging best practice

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Extract LANGUAGE_MAP with 250+ file extension mappings
- Extract FILE_CATEGORIES for file classification
- Extract ALWAYS_IGNORE_PATTERNS for build/vendor directories
- Fix duplicate .dockerignore key (removed line 268)
- Comprehensive coverage: Python, JS/TS, Docker, K8s, IaC, CI/CD

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

Co-Authored-By: Claude <noreply@anthropic.com>
Add src/codecontexter/cli.py which provides a command-line interface to
create enhanced Markdown summaries of code. Supports arguments for the
target directory, output path, verbosity, toggling the metadata table,
and optionally including SHA-256 file hashes.
- Add src/codecontexter/file_operations.py:
  - Utilities for scanning and collecting project files (collect_files)
  - Merge global and nested .gitignore patterns (get_combined_spec, load_nested_gitignore)
  - Project root discovery (find_project_root)
  - File processing helpers: line counting, optional SHA-256 hashing, metadata extraction (process_file, count_lines, get_file_hash)
  - Safe tqdm fallback when tqdm is unavailable
  - Respect output/script exclusions and file-type filtering via language detection

- Add src/codecontexter/language_detection.py:
  - Determine language hints from filenames/extensions using LANGUAGE_MAP (get_language_from_path)
  - Special handling for .github/workflows YAML and no-extension text files
  - File categorization by purpose using FILE_CATEGORIES (get_file_category)
Delete the single-file CLI implementation (app.py) now that its functionality has been extracted into the new modular package (file operations, language detection, CLI entrypoint). Cleans up repository and avoids duplication.
…e, report layout, configuration, and development instructions
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