Have something to say?
Github Repo Syncing
The repos I’ve assigned to Sourcery never seem to sync. My current settings on the Github side have 6 repos assigned to have Sourcery access, but from the Sourcery page and extension it says I’ve assigned access to zero repos.
Cursor IDE | Review | Line number mismatch in code review link - points to wrong line for actual code change
The code review link backend/src/delphi_web_server/dama/server.py:228 is pointing to line 228, but the actual code change being reviewed is on line 231. Link points to: line 228 (raise HTTPException(status_code=400, detail=error_details)) Actual change is on: line 231 (except SearchTimeout as e: and the new exception handler) The link should point to line 231 where the actual SearchTimeout exception handler is added, not line 228 which contains unrelated code. This is a new issue that has started occurring recently and is recurring across multiple code reviews. Cursor version: Version: 1.4.5 (Universal) VSCode Version: 1.99.3 Commit: af58d92614edb1f72bdd756615d131bf8dfa5290 Date: 2025-08-13T02:08:56.371Z Electron: 34.5.8 Chromium: 132.0.6834.210 Node.js: 20.19.1 V8: 13.2.152.41-electron.0 OS: Darwin arm64 24.6.0
Add Programming Paradigm Enforcement/Suggestions (Starting with Functional Programming)
Implement configurable programming paradigm checks and suggestions that can guide developers to write code following specific paradigms, with initial focus on functional programming. Problem Statement Currently, Sourcery focuses on general code quality improvements but doesn't provide paradigm-specific refactoring suggestions. Developers who want to follow specific programming paradigms (functional, object-oriented, etc.) have to manually identify and refactor code patterns, which can be time-consuming and inconsistent across teams. Proposed Feature Add a configuration option to enable paradigm-specific analysis and suggestions, starting with functional programming. This would include: Functional Programming Checks: Detect and suggest replacing loops with map(), filter(), reduce() Identify iterative loops and suggest tail-recursive alternatives Flag non-tail recursive functions and suggest tail-recursive refactoring Identify mutable data structures and suggest immutable alternatives Flag side effects in functions and suggest pure function alternatives Recommend function composition over nested function calls Suggest replacing class-based solutions with function-based ones where appropriate Identify opportunities for currying and partial application Example Transformations Loop to Tail Recursion: # Before - Iterative def factorial(n): result = 1 for i in range(1, n + 1): result *= i return result def sum_list(lst): total = 0 for item in lst: total += item return total Sourcery Suggestion: def factorial(n, acc=1): return acc if n Benefits Consistency: Enforce coding standards across teams Learning: Help developers learn paradigm-specific patterns including recursion Performance: Tail recursion can be optimized by interpreters/compilers Code Quality: Improve maintainability through paradigm adherence Stack Safety: Promote tail recursion to avoid stack overflow issues Flexibility: Configurable per project needs Future Extensions Object-Oriented Programming paradigm checks Procedural programming guidelines Custom paradigm definitions Team-specific paradigm rules Recursion depth analysis and optimization suggestions Use Cases Educational: Teaching functional programming and recursion concepts Team Standards: Enforcing consistent coding paradigms Legacy Refactoring: Migrating codebases to different paradigms Code Reviews: Automated paradigm compliance checking Performance Optimization: Converting inefficient recursion to tail recursion Technical Considerations Warn about Python's recursion limit (default 1000) wh
Allow other team members access to the UI
I can select which team members PRs get reviewed by sourcery, but it seems like I can’t give other team members access to sourcery to define or modify rules for themselves
Define rules via a file instead of UI
If I want to have other team members also contributing rules it would be great if the rules file itself can be checked into git instead of having to define rules manually and cumbersome through the UI
Slow Loading Time
Recently first time opening the Sourcery Chat is taking inordinately long, it has never taken this long before. Sourcery Extension 1.37.0 (last update 6/2) Visual Studio Code v1.10.1.0
re-trigger review on a commit
It would be great to automatically trigger a review when a new commit is pushed to Git. Currently, this must be done manually. There should be a setting to enable or disable automatic re-triggering.
uv.lock is not ignored during review
Added the following in .sourcery.yaml ignore: - uv.lock and attempted to review my code in Cursor IDE. end up with an error ValidationError This diff exceeds the maximum token limit for reviewing in IDE. The problem occurs only when uv.lock is updated, which is quite a lot of data and not needed for the review. Did I configure something wrong?
Superfluous comment votes
Bot always creates a plus and minus vote each on comments it creates itself. This is confusing as it seems to indicate that somebody has already reacted on the bot’s comment which is not the case.
PR reviews should be in their own comment
I feels abusive if the bot thinks it should correct/add to my PR. Summaries instead should be their own comments.
Docstring Recipe generates git diff
I used the “Generate Docstrings” option on a class. The Sourcery pane took some time to load, but when it finally did, it generated this diff instead of just the docstring: ``` <<<<<<< SEARCH class CreateGuide(PermissionRequiredMixin, CreateView): model = models.Guide template_name = "guides/create_guide.html" form_class = forms.GuideForm permission_required = "clients.add_guide" raise_exception = True def form_valid(self, form): self.object = form.save() return HttpResponseRedirect(reverse_lazy("guides_manage", kwargs=self.kwargs)+"?system_id="+str(self.object.system.id)) def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context["guides_url"] = reverse_lazy("guides_manage", kwargs=self.kwargs) return context ======= class CreateGuide(PermissionRequiredMixin, CreateView): """Create a new guide. This view handles the creation of new guides, allowing users to add guides to the system. """ model = models.Guide template_name = "guides/create_guide.html" form_class = forms.GuideForm permission_required = "clients.add_guide" raise_exception = True def form_valid(self, form): self.object = form.save() return HttpResponseRedirect(reverse_lazy("guides_manage", kwargs=self.kwargs)+"?system_id="+str(self.object.system.id)) def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context["guides_url"] = reverse_lazy("guides_manage", kwargs=self.kwargs) return context REPLACE ``` Usually, it just generates the class with the added docstring, and I can use the ‘insert at cursor’ option to just replace the code. This would appear to be a bug to me. Does anyone else get this? I’m on Windows 11, VS Code 1.99.3, Sourcery 1.35.0. Let me know if there’s any other diagnostic info I can provide.
Make github/gitlab integration use less invasive permissions
For many opensource projects it is important to maintain a tight control over who can have write access to their repositories. Sourcery.ai Github app is asking for wide permissions, including ability to push changes into the repositories. I’d like to see this tunable after the initial authorization. In our experience Sourcery.ai pull request reviews are useful but we would like to avoid to see ability to push proposed changes into the PR tree under review. It would best be if such permissions were missing from the Sourcery.ai and such configuration was explicit in the app.sourcery.ai.
Add ability to use images in the chat
Add a feature to drop images into the chat so you can ask the model about them - for example screenshots of UI or error messages.
PyCharm IDE | 1.34.0 | UI | Suggested Overview should be wrapped in the display
Slightly annoying change that I got with the new version. Instead of wrapping the text, there’s now a scrollbar. Since I use Sourcery for reviews always in the side pane, this is a but annoying change
Make sure the 'Apply Changes' option is always available
On long code blocks in chat you have to scroll to the top to apply them - change the UI so that this option is always available.
Add a chat history capabilities
It would be very helpful (to me anyway) to include the capability to see previous chats and their response. It would save time/worry not having to copy paste import chats just in case I need to refer to chat wording, results, etc. You can start off by only keeping 2 days then expand those capabilities as you see fit. (btw JetBrains AI Assistant does allow you to view previous chats)
Add files to context in Chat
Introduce the ability to add files to the chat context by typing ‘@’ and searching.