{% extends "base.html" %} {% import "_icon.html" as ico %} {% import "_empty.html" as empty %} {% import "_cli_only.html" as terminal %} {% block title %}{{ project.name }}{% endblock %} {% block topbar_back %} {% endblock %} {% block topbar_main %} {% endblock %} {% block topbar_actions %}
New plan {% endblock %} {% block content %}
{% if said %}
{{ said }}
{% endif %} {# The page's title, not a card. The name was boxed and 18px, three pixels above the bar's title and read twice; a thing's title is a .page-title in the pane, with the crumb trail above it. #}

{{ project.name }}

{% if project.description %}

{{ project.description }}

{% endif %}
Plans
{{ total }}
Plan directory
{{ project.plan_directory }}
{% if project.project_root %}
Project root:{{ project.project_root }} {% if project.auto_gitignore %}.gitignore managed {{ ico.icon('check', 13) }}{% endif %}
{% endif %}

Sharing and sync

{% if sharing.workspace_id %}
Workspace{{ sharing.workspace_id }}
Your role{{ sharing.role or 'no access yet' }}
{% if not sharing.role and sharing.reason %}

{{ sharing.reason }}

{% endif %} {% else %}
Workspacenone, so these plans stay on this machine
{% endif %} {{ terminal.row(cli_only("Bind a repository to a workspace"), 'flanner join --project "' ~ project.name ~ '"') }}
Accept pushes · {{ 'on' if sharing.accepting else 'off' }} Set for this device, so for every project on it. A push adds versions to history and never overwrites what you have.{% if sharing.locked %} {{ sharing.env }} is set where flanner web runs, and this page cannot override it.{% endif %}
{% if plan_files %}
Plans {{ total }}
PlanVersionLinksAuthorUpdated
{% for plan_file in plan_files %}
{{ plan_file.name }}.md v{{ plan_file.current_version }} {% set lc = linear_counts.get(plan_file.id|string) %} {% if lc %}Linear ×{{ lc }}{% else %} {% endif %} {{ plan_file.created_by or 'user' }} {{ plan_file.updated_at | relative_time }}
{% endfor %}
{% include "_pager.html" %}
{% else %} {% call empty.state('plan', 'No plans in this project') %}

Your agents will fill this in, or you can write the first one yourself.

New plan {% endcall %} {% endif %}
{% endblock %}