Skip to content

fix: markdown render limit and move to uv#9220

Merged
rushilsrivastava merged 8 commits intodevfrom
feat/repo-maintenance
Jan 14, 2026
Merged

fix: markdown render limit and move to uv#9220
rushilsrivastava merged 8 commits intodevfrom
feat/repo-maintenance

Conversation

@rushilsrivastava
Copy link
Member

@rushilsrivastava rushilsrivastava commented Jan 14, 2026

Summary by cubic

Fixes GitHub’s README render cutoff by inserting an early warning and moving inactive roles to a separate README, while migrating scripts to a modular CLI and workflows to uv with Python 3.12.

  • New Features

    • Prevents README cutoff by inserting a warning before the GitHub size limit; moves inactive roles to README-Inactive.md.
    • Adds job category detection and tables; updates listings.json with a category field.
    • Introduces a Typer CLI (main.py) to process contributions and update READMEs.
  • Dependencies

    • Migrates CI to uv and Python 3.12; adds pyproject.toml and uv.lock.
    • Adds ruff and mypy with a new lint workflow.
    • Updates GitHub Actions to v4/v5 and adds a listings.json validation workflow.

Written for commit 7b0cbe1. Summary will update on new commits.

@rushilsrivastava rushilsrivastava added the enhancement New feature or request label Jan 14, 2026
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

11 issues found across 25 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="list_updater/commands.py">

<violation number="1" location="list_updater/commands.py:573">
P2: Inconsistent capitalization: "Github Action" should be "GitHub Action" to match line 223 and the official GitHub branding.</violation>
</file>

<file name="list_updater/analytics.py">

<violation number="1" location="list_updater/analytics.py:83">
P1: Division by zero when `total` is 0 (empty listings). Add a guard before calculating percentages.</violation>

<violation number="2" location="list_updater/analytics.py:636">
P2: Adding `listing.get("id")` (which can be `None`) to sets may cause all listings without IDs to be unintentionally hidden/deleted. Use a default or check before adding.</violation>
</file>

<file name="list_updater/constants.py">

<violation number="1" location="list_updater/constants.py:7">
P2: Setting `os.environ["TZ"]` and calling `time.tzset()` at module level is a side effect that modifies global process state on import. This can cause unexpected behavior in tests and affects all code in the process, not just this module. Consider moving this to an explicit initialization function or the application's entry point.</violation>
</file>

<file name=".github/workflows/lint.yml">

<violation number="1" location=".github/workflows/lint.yml:38">
P2: `pyproject.toml` should not be passed to `mypy` as it is a Python type checker. TOML files cannot be type-checked and will cause errors.</violation>
</file>

<file name="list_updater/formatter.py">

<violation number="1" location="list_updater/formatter.py:21">
P3: `</br>` is invalid HTML. Use `<br>` or `<br/>` instead. The `<br>` element is a void element and doesn't have a closing tag.</violation>

<violation number="2" location="list_updater/formatter.py:149">
P2: URL construction doesn't check for existing query parameters, potentially creating malformed URLs with multiple `?` characters. The `get_link` function (lines 54-57) correctly handles this case - apply the same pattern here.</violation>
</file>

<file name="list_updater/readme.py">

<violation number="1" location="list_updater/readme.py:12">
P2: Parameter `repo_name` is declared but never used. The URLs are hardcoded with "Summer2026-Internships" instead of using this parameter. Either use the parameter in the URL construction or remove it.</violation>

<violation number="2" location="list_updater/readme.py:171">
P2: File opened without explicit encoding. Should specify `encoding="utf-8"` to ensure consistent behavior across platforms, especially since README files contain emojis and special characters.</violation>

<violation number="3" location="list_updater/readme.py:223">
P2: File opened for writing without explicit encoding. Should specify `encoding="utf-8"` to ensure UTF-8 content is written correctly across all platforms.</violation>
</file>

<file name="list_updater/category.py">

<violation number="1" location="list_updater/category.py:102">
P2: Short keyword `"ai"` uses substring matching which causes false positives. Titles containing "maintenance", "sustainability", or "container" would be incorrectly classified as Data Science. Consider using word boundary matching (e.g., regex `\bai\b`) or space-delimited checks.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@rushilsrivastava rushilsrivastava force-pushed the feat/repo-maintenance branch 3 times, most recently from 707a49e to 37f46c7 Compare January 14, 2026 06:38
@rushilsrivastava
Copy link
Member Author

rushilsrivastava commented Jan 14, 2026

Closes #9219, #9218, #9216, #9215, #9212, #9210, #9211, #9209

@rushilsrivastava rushilsrivastava merged commit af890f2 into dev Jan 14, 2026
4 checks passed
@rushilsrivastava rushilsrivastava deleted the feat/repo-maintenance branch January 14, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant