{% extends "base.html" %} {% block title %}{{ view.product.name }} - specflo{% endblock %} {% block content %}

Products

{{ view.product.name }}

{% if view.product.repo %}

Repo: {{ view.product.repo }}

{% endif %}

Vision

{% if view.product.vision.strip() %}
{{ view.product.vision }}
{% else %}

No vision yet. Set one with specflo product set-vision.

{% endif %}

Pieces

{% if view.pieces %} {% else %}

No pieces declared. Work items target the product as a whole.

{% endif %}

Backlog

{% if view.items %} {% for item in view.items %} {% endfor %}
# Title Kind Dev path Piece Status Issue Project
{{ item.id }} {{ item.title }} {{ item.kind }} {{ item.dev_path }} {{ item.piece or "" }} {{ item.status }} {% if item.issue and item.issue.startswith(("http://", "https://")) %}{{ item.issue }}{% elif item.issue %}{{ item.issue }}{% endif %} {% if item.project %}{{ view.project_names.get(item.project, item.project) }} {% elif item.id in view.startable %}
{% endif %}
{% else %}

No work items. Add one with specflo workitem add.

{% endif %}

Projects

{% if view.projects %} {% for project in view.projects %} {% endfor %}
Project Phase Status Execution
{{ project.name }} {{ project.phase }} {{ project.status }} {{ project.execution }}
{% elif not view.archived_count %}

No projects. A full-path work item spawns one with specflo workitem spawn.

{% endif %}

{% if view.show_archived %} Showing {{ view.archived_count }} archived. Hide archived {% elif view.archived_count %} {{ view.archived_count }} archived hidden. Show archived {% endif %}

{% endblock %}