Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Code Detail Level #164

Open
rdwj opened this issue Nov 6, 2024 · 4 comments
Open

Feature Request: Code Detail Level #164

rdwj opened this issue Nov 6, 2024 · 4 comments
Labels
enhancement New feature or request needs discussion Issues needing discussion and a decision to be made before action can be taken

Comments

@rdwj
Copy link

rdwj commented Nov 6, 2024

If your project is sufficiently well documented, having a block of text describing the intent, intput and example outputs for each function, then would it be useful to have an option to only include the method signatures and associated documentation, and not the full code?

This might reduce the context a bit and still give the LLM what it actually needs to write the new item you are asking it for.

@scriptify
Copy link

Second this. For TypeScript projects this would be a game changer. Most of the time, if the project is well-structured, implementation details are not needed. Imagine a clean DDD backend API, how easy it would be to generate full endpoints using that approach.

@yamadashy
Copy link
Owner

@rdwj @scriptify
Thank you for your interesting proposal!

You raise a very good point. Currently, Repomix struggles with large-scale projects, mainly due to token limits. Token reduction techniques like this could be a great way to address this limitation.

For implementing this feature, I'm thinking about two possible approaches:

  1. Start with TypeScript-specific implementation as an experiment

    • Good for validating the concept
    • But could lead to maintenance challenges if we add more languages
  2. Use a language-agnostic approach with tools like Tree-sitter

    • More complex initial implementation
    • But provides unified parsing across many languages
    • More sustainable in the long term

However, I'm still exploring the best way to implement this effectively.

Please share your thoughts and experiences! Together we can find a good approach to make Repomix more useful for large projects.

@yamadashy yamadashy added enhancement New feature or request needs discussion Issues needing discussion and a decision to be made before action can be taken labels Nov 16, 2024
@rdwj
Copy link
Author

rdwj commented Nov 18, 2024 via email

@yamadashy
Copy link
Owner

yamadashy commented Nov 21, 2024

That's great! 👍

Thank you for offering to work on a Python reducer! Having multiple language implementations will help us understand what works best.

One concern is that adding Python as a dependency could make installation more challenging. But we could make it an optional feature. That said, we seem to have quite a few Python users already, so this might be less of an issue than I initially thought.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs discussion Issues needing discussion and a decision to be made before action can be taken
Projects
None yet
Development

No branches or pull requests

3 participants