Context
CodeLens posisinya saat ini bersaing di layer yang sama dengan: ctags, LSP servers (gopls, typescript-language-server, pylsp, dll.), dan ripgrep. Bukan GraphRAG atau LLM-based tools.
Sebelum implementasi peningkatan apapun, kita butuh audit kompetitif yang jujur: di mana CodeLens menang, di mana kalah, dan gap apa yang paling worth di-fix.
Tugas Worker
Ini adalah audit murni — tidak ada perubahan kode. Output berupa comment di issue ini.
Persiapan
Clone CodeLens. Siapkan juga tool pembanding yang bisa di-install:
ctags — apt install universal-ctags atau brew install universal-ctags
ripgrep — apt install ripgrep atau brew install ripgrep
- LSP: pilih SATU yang paling mudah di-install di environment kamu (misal
typescript-language-server via npm, atau pylsp via pip)
Gunakan codebase test yang sama untuk semua: clone https://github.com/Wolfvin/Coretax-Auto-Downloader sparse (fought/extension_source/ts) — TypeScript, ~100 file, ukuran representatif.
Jika tidak bisa install salah satu tool, skip dan tulis "tidak bisa ditest di environment ini" di kolom tersebut.
Dimensi yang Harus Dibandingkan
Jalankan query yang persis sama di ketiga tool dan CodeLens, catat output:
1. Symbol lookup — "find function named signInWithGoogle"
- ctags:
ctags -R . && grep signInWithGoogle tags
- ripgrep:
rg "signInWithGoogle" --type ts -n
- LSP: workspace/symbol request via
typescript-language-server (atau equivalent)
- CodeLens:
codelens search <ws> "signInWithGoogle" --mode symbol --format compact
Catat: waktu eksekusi, jumlah hasil, apakah hasil benar (file + line), false positives.
2. Semantic search — "find code related to google authentication session"
- ctags: tidak bisa (skip)
- ripgrep:
rg "google.*auth|auth.*google|session.*token" --type ts -n -i
- LSP: tidak dirancang untuk ini (skip)
- CodeLens:
codelens search <ws> "google authentication session" --format compact
Catat: relevansi hasil top-5, false positives, false negatives yang obvious.
3. Find all callers of a function — "who calls signInWithGoogle?"
- ctags: tidak bisa langsung (skip atau
grep -r "signInWithGoogle(" .)
- ripgrep:
rg "signInWithGoogle\(" --type ts -n
- LSP:
textDocument/references request
- CodeLens:
codelens deps <ws> --check dependents (filter untuk file yang import google-auth.ts)
Catat: completeness (apakah semua caller ditemukan?), false positives.
4. Find circular dependencies
- ctags: tidak bisa (skip)
- ripgrep: tidak bisa (skip)
- LSP: tidak dirancang untuk ini (skip)
- CodeLens:
codelens deps <ws> --check circular --format compact
Catat: apakah circular deps ditemukan? Berapa?
5. Find dead/unused exports
- ctags: tidak bisa (skip)
- ripgrep: bisa partial — list semua
export lalu manual cross-check (skip kalau terlalu manual)
- LSP: bisa via diagnostics (
typescript-language-server report unused exports)
- CodeLens:
codelens audit <ws> --check dead-code --format compact
Catat: jumlah findings, sample 3 findings, apakah findings valid?
6. Index build time (cold start)
- ctags:
time ctags -R .
- ripgrep: tidak perlu index (skip)
- LSP:
time untuk sampai siap (initialization)
- CodeLens:
time codelens scan <ws>
Catat: detik untuk index selesai.
7. Query latency (setelah index ada)
Format Output
Post sebagai comment di issue ini dengan tabel Markdown:
## Hasil Audit Kompetitif — [nama worker] — [tanggal]
### Environment
- OS: ...
- Tools yang bisa ditest: ctags vX.X, ripgrep X.X, LSP: ..., CodeLens vX.X
### Tabel Perbandingan
| Dimensi | ctags | ripgrep | LSP | CodeLens | Pemenang |
|---|---|---|---|---|---|
| Symbol lookup (akurasi) | | | | | |
| Symbol lookup (latency) | | | | | |
| Semantic search | N/A | | N/A | | |
| Find callers | N/A | partial | | | |
| Circular deps | N/A | N/A | N/A | | CodeLens (satu-satunya) |
| Dead exports | N/A | N/A | | | |
| Cold start time | | N/A | | | |
### Gap Terbesar CodeLens vs Kompetitor
List max 5 gap yang paling impactful berdasarkan hasil test, bukan opini:
1. ...
2. ...
### Rekomendasi Fix Prioritas
List max 3 perbaikan konkret yang akan membuat CodeLens menang di gap tersebut:
1. ...
2. ...
3. ...
Constraint
- Tidak ada perubahan kode — ini audit murni
- Semua klaim harus berdasarkan output nyata yang dijalankan, bukan opini atau dokumentasi tool
- Kalau tool tidak bisa diinstall: tulis "skip — tidak tersedia" dan lanjut
- Jangan buat PR — cukup comment di issue ini
Definition of Done
Minimal 1 comment di issue ini dengan tabel perbandingan lengkap berdasarkan eksekusi nyata.
Context
CodeLens posisinya saat ini bersaing di layer yang sama dengan: ctags, LSP servers (gopls, typescript-language-server, pylsp, dll.), dan ripgrep. Bukan GraphRAG atau LLM-based tools.
Sebelum implementasi peningkatan apapun, kita butuh audit kompetitif yang jujur: di mana CodeLens menang, di mana kalah, dan gap apa yang paling worth di-fix.
Tugas Worker
Ini adalah audit murni — tidak ada perubahan kode. Output berupa comment di issue ini.
Persiapan
Clone CodeLens. Siapkan juga tool pembanding yang bisa di-install:
ctags—apt install universal-ctagsataubrew install universal-ctagsripgrep—apt install ripgrepataubrew install ripgreptypescript-language-servervia npm, ataupylspvia pip)Gunakan codebase test yang sama untuk semua: clone
https://github.com/Wolfvin/Coretax-Auto-Downloadersparse (fought/extension_source/ts) — TypeScript, ~100 file, ukuran representatif.Jika tidak bisa install salah satu tool, skip dan tulis "tidak bisa ditest di environment ini" di kolom tersebut.
Dimensi yang Harus Dibandingkan
Jalankan query yang persis sama di ketiga tool dan CodeLens, catat output:
1. Symbol lookup — "find function named signInWithGoogle"
ctags -R . && grep signInWithGoogle tagsrg "signInWithGoogle" --type ts -ntypescript-language-server(atau equivalent)codelens search <ws> "signInWithGoogle" --mode symbol --format compactCatat: waktu eksekusi, jumlah hasil, apakah hasil benar (file + line), false positives.
2. Semantic search — "find code related to google authentication session"
rg "google.*auth|auth.*google|session.*token" --type ts -n -icodelens search <ws> "google authentication session" --format compactCatat: relevansi hasil top-5, false positives, false negatives yang obvious.
3. Find all callers of a function — "who calls signInWithGoogle?"
grep -r "signInWithGoogle(" .)rg "signInWithGoogle\(" --type ts -ntextDocument/referencesrequestcodelens deps <ws> --check dependents(filter untuk file yang import google-auth.ts)Catat: completeness (apakah semua caller ditemukan?), false positives.
4. Find circular dependencies
codelens deps <ws> --check circular --format compactCatat: apakah circular deps ditemukan? Berapa?
5. Find dead/unused exports
exportlalu manual cross-check (skip kalau terlalu manual)typescript-language-serverreport unused exports)codelens audit <ws> --check dead-code --format compactCatat: jumlah findings, sample 3 findings, apakah findings valid?
6. Index build time (cold start)
time ctags -R .timeuntuk sampai siap (initialization)time codelens scan <ws>Catat: detik untuk index selesai.
7. Query latency (setelah index ada)
Format Output
Post sebagai comment di issue ini dengan tabel Markdown:
Constraint
Definition of Done
Minimal 1 comment di issue ini dengan tabel perbandingan lengkap berdasarkan eksekusi nyata.