- Add complete CLI command implementations with Typer subcommands - Implement utils/time.py with duration formatting and datetime utilities - Implement utils/path.py with project path management utilities - Wire up all commands to main CLI entry point
43 lines
1003 B
Python
43 lines
1003 B
Python
"""Main CLI entry point."""
|
|
|
|
import typer
|
|
|
|
from tracker.cli.commands import (
|
|
init_project,
|
|
list_projects,
|
|
show_project,
|
|
start_session,
|
|
add_note_cmd,
|
|
stop_session,
|
|
add_change,
|
|
suggest_next,
|
|
review,
|
|
)
|
|
|
|
app = typer.Typer(
|
|
name="tracker",
|
|
help="Personal Project Tracker CLI - Track your projects with Markdown and YAML",
|
|
)
|
|
|
|
|
|
# Register all subcommands
|
|
app.add_typer_command(init_project, name="init-project")
|
|
app.add_typer_command(list_projects, name="list")
|
|
app.add_typer_command(show_project, name="show")
|
|
app.add_typer_command(start_session, name="start")
|
|
app.add_typer_command(add_note_cmd, name="note")
|
|
app.add_typer_command(stop_session, name="stop")
|
|
app.add_typer_command(add_change, name="change")
|
|
app.add_typer_command(suggest_next, name="next")
|
|
app.add_typer_command(review, name="review")
|
|
|
|
|
|
@app.callback()
|
|
def callback():
|
|
"""Personal Project Tracker - Track your projects locally with Markdown."""
|
|
pass
|
|
|
|
|
|
if __name__ == "__main__":
|
|
app()
|