diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index f657f3e..4ff4ecb 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -57,7 +57,7 @@ permissions: env: REGISTRY: git.fabledsword.com - IMAGE: git.fabledsword.com/bvandeusen/fabledassistant + IMAGE: git.fabledsword.com/bvandeusen/fabledscribe jobs: typecheck: diff --git a/README.md b/README.md index a329927..5af628f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Fabled Assistant +# Fabled Scribe A self-hosted second brain and project management application with integrated LLM capabilities. Write, organise, and act on your notes and tasks with the help of a local AI assistant — all running on your own hardware. diff --git a/docker-compose.quickstart.yml b/docker-compose.quickstart.yml index a5a294f..e2a9ee5 100644 --- a/docker-compose.quickstart.yml +++ b/docker-compose.quickstart.yml @@ -1,4 +1,4 @@ -# Fabled Assistant — Quick Start +# Fabled Scribe — Quick Start # # No build required. Pulls the latest pre-built image from the registry. # @@ -13,7 +13,7 @@ services: app: - image: git.fabledsword.com/bvandeusen/fabledassistant:latest + image: git.fabledsword.com/bvandeusen/fabledscribe:latest ports: - "5000:5000" environment: diff --git a/fable-mcp/pyproject.toml b/fable-mcp/pyproject.toml index ba6f5a3..d3212e8 100644 --- a/fable-mcp/pyproject.toml +++ b/fable-mcp/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "hatchling.build" [project] name = "fable-mcp" version = "0.2.6" -description = "MCP server for Fabled Assistant" +description = "MCP server for Fabled Scribe" requires-python = ">=3.12" dependencies = [ "mcp[cli]>=1.0", diff --git a/frontend/index.html b/frontend/index.html index 3cde003..6fdfe7a 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -9,8 +9,8 @@ - - Fabled Assistant + + Fabled Scribe
diff --git a/frontend/public/manifest.json b/frontend/public/manifest.json index 463e6d0..d374868 100644 --- a/frontend/public/manifest.json +++ b/frontend/public/manifest.json @@ -1,6 +1,6 @@ { - "name": "Fabled Assistant", - "short_name": "Fabled", + "name": "Fabled Scribe", + "short_name": "Scribe", "description": "Your self-hosted second brain with AI assistance", "start_url": "/", "display": "standalone", diff --git a/frontend/public/sw.js b/frontend/public/sw.js index 246a13b..5ce54d6 100644 --- a/frontend/public/sw.js +++ b/frontend/public/sw.js @@ -12,7 +12,7 @@ self.addEventListener('push', event => { return; } } - return self.registration.showNotification(data.title || 'Fabled Assistant', { + return self.registration.showNotification(data.title || 'Scribe', { body: data.body || '', icon: '/favicon.ico', badge: '/favicon.ico', diff --git a/frontend/src/views/SettingsView.vue b/frontend/src/views/SettingsView.vue index 5bdcff1..6ce18c7 100644 --- a/frontend/src/views/SettingsView.vue +++ b/frontend/src/views/SettingsView.vue @@ -501,7 +501,7 @@ const smtp = ref({ smtp_username: "", smtp_password: "", smtp_from_address: "", - smtp_from_name: "Fabled Assistant", + smtp_from_name: "Fabled Scribe", smtp_use_tls: "true", }); const savingSmtp = ref(false); @@ -1981,7 +1981,7 @@ function formatUserDate(iso: string): string {

About

-

Fabled Assistant {{ appVersion }}

+

Fabled Scribe {{ appVersion }}

@@ -2741,7 +2741,7 @@ FABLE_API_KEY={{ effectiveApiKey }}
- +
diff --git a/src/fabledassistant/config.py b/src/fabledassistant/config.py index 7c447d0..09740e9 100644 --- a/src/fabledassistant/config.py +++ b/src/fabledassistant/config.py @@ -52,7 +52,7 @@ class Config: SMTP_USERNAME: str = os.environ.get("SMTP_USERNAME", "") SMTP_PASSWORD: str = _read_secret("SMTP_PASSWORD", "SMTP_PASSWORD_FILE", "") SMTP_FROM_ADDRESS: str = os.environ.get("SMTP_FROM_ADDRESS", "") - SMTP_FROM_NAME: str = os.environ.get("SMTP_FROM_NAME", "Fabled Assistant") + SMTP_FROM_NAME: str = os.environ.get("SMTP_FROM_NAME", "Fabled Scribe") SMTP_USE_TLS: bool = os.environ.get("SMTP_USE_TLS", "true").lower() in ("1", "true", "yes") BASE_URL: str = os.environ.get("BASE_URL", "http://localhost:5000").rstrip("/") TRUST_PROXY_HEADERS: bool = os.environ.get("TRUST_PROXY_HEADERS", "").lower() in ("1", "true", "yes") diff --git a/src/fabledassistant/services/calendar_sync.py b/src/fabledassistant/services/calendar_sync.py index 2b7c781..fc64685 100644 --- a/src/fabledassistant/services/calendar_sync.py +++ b/src/fabledassistant/services/calendar_sync.py @@ -66,7 +66,7 @@ async def setup_user_calendar(user_id: int) -> bool: - Fabled Assistant + Fabled Scribe """, diff --git a/src/fabledassistant/services/email.py b/src/fabledassistant/services/email.py index 946d76d..53d6362 100644 --- a/src/fabledassistant/services/email.py +++ b/src/fabledassistant/services/email.py @@ -38,7 +38,7 @@ _EMAIL_LOGO_SVG = ( def _email_html(title: str, body: str) -> str: - """Wrap email body content in the standard Fabled Assistant template.""" + """Wrap email body content in the standard Fabled Scribe template.""" return f""" @@ -56,7 +56,7 @@ def _email_html(title: str, body: str) -> str:
- {_EMAIL_LOGO_SVG}Fabled Assistant + {_EMAIL_LOGO_SVG}Fabled Scribe

{title}

@@ -68,7 +68,7 @@ def _email_html(title: str, body: str) -> str:
-

Sent by your Fabled Assistant instance.

+

Sent by your Fabled Scribe instance.

@@ -146,7 +146,7 @@ async def send_email(to: str, subject: str, html_body: str) -> None: username = config.get("smtp_username", "") password = config.get("smtp_password", "") from_address = config.get("smtp_from_address", "") - from_name = config.get("smtp_from_name", "Fabled Assistant") + from_name = config.get("smtp_from_name", "Fabled Scribe") use_tls = config.get("smtp_use_tls", "true") == "true" msg = EmailMessage() @@ -176,6 +176,6 @@ async def send_test_email(to: str) -> None: """Send a branded test email.""" body = """

SMTP is configured correctly

-

Your Fabled Assistant instance can send email notifications.

+

Your Fabled Scribe instance can send email notifications.

""" - await send_email(to, "Fabled Assistant - Test Email", _email_html("Test Email", body)) + await send_email(to, "Fabled Scribe - Test Email", _email_html("Test Email", body)) diff --git a/src/fabledassistant/services/llm.py b/src/fabledassistant/services/llm.py index 676aab0..ba8060a 100644 --- a/src/fabledassistant/services/llm.py +++ b/src/fabledassistant/services/llm.py @@ -632,7 +632,7 @@ async def build_context( tool_guidance = "\n".join(tool_lines) static_block = ( - f"You are a helpful assistant named {assistant_name}, integrated into a note-taking and task-tracking app called Fabled Assistant. " + f"You are a helpful assistant named {assistant_name}, integrated into a note-taking and task-tracking app called Fabled Scribe. " "Help users with their notes, tasks, and general questions. " "When note context is provided, use it to give relevant answers.\n\n" f"{tool_guidance}" diff --git a/src/fabledassistant/services/notifications.py b/src/fabledassistant/services/notifications.py index a6c4b71..2ec1cb6 100644 --- a/src/fabledassistant/services/notifications.py +++ b/src/fabledassistant/services/notifications.py @@ -91,7 +91,7 @@ async def notify_security_event(

If this wasn't you, change your password immediately.

""" - await send_email(email, f"Fabled Assistant - {label}", _email_html("Security Alert", body)) + await send_email(email, f"Fabled Scribe - {label}", _email_html("Security Alert", body)) except Exception: logger.exception("Failed to send security notification for user %d", user_id) @@ -113,7 +113,7 @@ async def send_password_reset_email(email: str, reset_url: str) -> None:

If the button doesn't work, copy and paste this link:

{reset_url}

""" - await send_email(email, "Fabled Assistant - Password Reset", _email_html("Password Reset", body)) + await send_email(email, "Fabled Scribe - Password Reset", _email_html("Password Reset", body)) async def send_password_reset_success_email(email: str) -> None: @@ -125,14 +125,14 @@ async def send_password_reset_success_email(email: str) -> None:

If you didn't make this change, please contact your administrator immediately.

""" - await send_email(email, "Fabled Assistant - Password Changed", _email_html("Password Changed", body)) + await send_email(email, "Fabled Scribe - Password Changed", _email_html("Password Changed", body)) async def send_invitation_email(email: str, invite_url: str, invited_by_username: str) -> None: """Send a branded invitation email with a registration link.""" body = f"""

- {invited_by_username} has invited you to join Fabled Assistant. + {invited_by_username} has invited you to join Fabled Scribe. Click the button below to create your account.

@@ -146,7 +146,7 @@ async def send_invitation_email(email: str, invite_url: str, invited_by_username

If the button doesn't work, copy and paste this link:

{invite_url}

""" - await send_email(email, "Fabled Assistant - You're Invited!", _email_html("You're Invited!", body)) + await send_email(email, "Fabled Scribe - You're Invited!", _email_html("You're Invited!", body)) async def check_due_tasks() -> None: @@ -225,7 +225,7 @@ async def check_due_tasks() -> None: {task_rows} """ - await send_email(email, f"Fabled Assistant - {len(user_tasks)} Task(s) Due", _email_html("Task Reminders", body)) + await send_email(email, f"Fabled Scribe - {len(user_tasks)} Task(s) Due", _email_html("Task Reminders", body)) await log_audit( "task_reminder", user_id=user_id,