{% extends "_base.html" %} {% from "_macros.html" import tabs %} {% block title %}Settings · {{ project.name | humanize }} · Urika{% endblock %} {% block heading %}Settings{% endblock %} {% block breadcrumb %} {% endblock %} {% block content %}
{% call(active) tabs("project-settings", [ {"id": "basics", "label": "Basics"}, {"id": "data", "label": "Data"}, {"id": "privacy", "label": "Privacy"}, {"id": "models", "label": "Models"}, {"id": "notifications", "label": "Notifications"}, {"id": "secrets", "label": "Secrets"} ]) %} {# ---- Basics tab ---------------------------------------------------- #}
Project name is immutable.
{# ---- Data tab ----------------------------------------------------- #}
One path per line. Stored under [project].data_paths.
One key=value pair per line. Values stored as strings.
{# ---- Models tab --------------------------------------------------- #} {# Always-three-columns layout (Agent / Endpoint / Model) per mode, mirroring the global Models tab: open → Endpoint cell shows literal "open" (read-only); a hidden ``endpoint[]=open`` carries the value. Model column is a cloud-models of named private endpoints — picking one sets BOTH ``endpoint[]`` (the endpoint name) AND ``model[]`` (its default_model) via hidden inputs Alpine-bound to local state. hybrid → Endpoint cell is a UI category cat=private → named-private-endpoint below; every model dropdown in this tab renders one ``