CodeQue

Get startedDocsRoadmapMissionPlayground

My mission is to help you maintain best possible codebase quality and boost your productivity!


Perfect codebase does not exist.

The technology develops so fast, that the line of code you implemented today might be a tech debt you will have to face tomorrow.

I worked on several projects and I found out that there is never enough time for good quality maintenance of existing code.

Replacing an old lib with a new one takes too much time.

Refactoring a utility requires too much manual work spend on adjusting the existing API usage.

There are always some excuses to not address you tech debt.

At some scale refactoring even seems impossible, there is just too much to do.

And You are never sure if you addressed everything.

Stuff gets even worse if project is written in plan JavaScript and have some global variables.


Your problem

There are a lot of frustrated developer who would love to improve codebase and reduce tech debt.

But how you convince your manager to spend hours or days outside of main stream work just to reshape some underlying tech?

You walk by these duplicated lines of code everyday, but it's probably copy-pasted 20 times and you are not even able to find all of the occurrences

You feel like refactoring X would just make everyone's life easier. But then you resize that changing the implementation is just 10% of the time needed, the rest is painful manual adjusting of several files that uses X. You give up and just add TODO: refactor it later

As a developer you need tools to act quickly and accurately to be able to preform decent refactor on daily basis.

There are tools like JSCodeShift which can help with batch refactoring, but who has time to implement custom codemods?

Metaprogramming is a skill that requires quite a lot of time

There is a plenty of available codemods or eslint plugins that could potentially help you address some of the problems.

But the reality is that your codebase is unique and has unique problems, that no one yet solved


My story

I was leading a project focused on large scale refactoring of custom SSR solution build on webpack-isomorphic-tools into next.js.

We had to manually refactor the whole routing layer of the app.

There were around 20 developers actively developing the app, while 4 folks were working ot that migration.

We had to implement custom ESLint rules to prevent from using the restricted APIs

I realized how ridiculous is writing 100 lines of code just to be able to flag a few simple patterns in the codebase.

I just felt that we developers could do better


The CodeQue

And here is a space where CodeQue can help.

CodeQue will be formatting agnostic search and refactor tool for your codebase.

Yes, refactoring tool!

Right now it only offers search functionality, which is still really helpful as a standalone feature.

But the final goal is to be able to search and replace with the similar ergonomics like you do with normal search and replace in your IDE.

It will be syntax aware search & replace

So you can batch refactor more complex stuff than React component prop value.


The goal is ambitious, but I'm excited to face that challenge.


Goals

  • Search through code faster using formatting agnostic code-like query language

  • Improve codebase discoverability, hence reduce new developers onboarding time

  • Refactor code in a batch using advanced replace mechanism

  • Identify and extract duplicated code with ease

  • Reduce codemods implementation time to minutes

  • Define restricted syntax fixable ESlint rules in minutes

  • Perform a decent refactor in codebase that you don't know much

  • Pay your tech debt faster

  • No more excuses for code refactoring!

If you get to the end and identify with the problem whatsoever, let't stay in touch!

👉