-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcli.py
More file actions
49 lines (38 loc) · 1.22 KB
/
cli.py
File metadata and controls
49 lines (38 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
"""java-nav: CLI tools for IDE-like Java navigation in AI agents."""
import click
from java_nav.commands.api import api
from java_nav.commands.definition import definition
from java_nav.commands.deps import deps
from java_nav.commands.find import find
from java_nav.commands.grep import grep
from java_nav.commands.impls import impls, subtypes
from java_nav.commands.install import install_skill
from java_nav.commands.lsp_cmd import lsp
from java_nav.commands.refs import refs
from java_nav.commands.source import source
from java_nav.commands.symbols import symbols
@click.group()
@click.version_option()
def main() -> None:
"""CLI tools for IDE-like Java navigation in AI agents.
Provides tiered Java code navigation — from instant javap lookups
to full semantic analysis via jdtls.
\b
Prerequisites: JDK 17+, Maven. JDK 21+ for LSP commands (refs, def, find, symbols).
"""
# Tier 1
main.add_command(api)
main.add_command(deps)
main.add_command(grep)
main.add_command(source)
# Tier 2
main.add_command(impls)
main.add_command(subtypes)
# Tier 3
main.add_command(definition)
main.add_command(find)
main.add_command(lsp)
main.add_command(refs)
main.add_command(symbols)
# Setup
main.add_command(install_skill)