mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
e6496df595
feat: Add multiple projects support feat: enhanced read_note for when initial result is not found fix: merge frontmatter when updating note fix: handle directory removed on sync watch
59 lines
1.4 KiB
Python
59 lines
1.4 KiB
Python
"""Main CLI entry point for basic-memory.""" # pragma: no cover
|
|
|
|
from basic_memory.cli.app import app # pragma: no cover
|
|
import typer
|
|
|
|
# Register commands
|
|
from basic_memory.cli.commands import ( # noqa: F401 # pragma: no cover
|
|
status,
|
|
sync,
|
|
db,
|
|
import_memory_json,
|
|
mcp,
|
|
import_claude_conversations,
|
|
import_claude_projects,
|
|
import_chatgpt,
|
|
tool,
|
|
project,
|
|
)
|
|
|
|
|
|
# Version command
|
|
@app.callback(invoke_without_command=True)
|
|
def main(
|
|
ctx: typer.Context,
|
|
project: str = typer.Option( # noqa
|
|
"main",
|
|
"--project",
|
|
"-p",
|
|
help="Specify which project to use",
|
|
envvar="BASIC_MEMORY_PROJECT",
|
|
),
|
|
version: bool = typer.Option(
|
|
False,
|
|
"--version",
|
|
"-V",
|
|
help="Show version information and exit.",
|
|
is_eager=True,
|
|
),
|
|
):
|
|
"""Basic Memory - Local-first personal knowledge management system."""
|
|
if version: # pragma: no cover
|
|
from basic_memory import __version__
|
|
from basic_memory.config import config
|
|
|
|
typer.echo(f"Basic Memory v{__version__}")
|
|
typer.echo(f"Current project: {config.project}")
|
|
typer.echo(f"Project path: {config.home}")
|
|
raise typer.Exit()
|
|
|
|
# Handle project selection via environment variable
|
|
if project:
|
|
import os
|
|
|
|
os.environ["BASIC_MEMORY_PROJECT"] = project
|
|
|
|
|
|
if __name__ == "__main__": # pragma: no cover
|
|
app()
|