Starmap is a tool used to generate graphical representations of project roadmaps from GitHub issues. For the purposes of Starmap, a roadmap is represented by a single root node issue in GitHub that contains links to date-bound project milestone issues within that roadmap.
The goal of Starmap is to help externalize planning, share team progress against milestones, and publicly flag dependencies. Starmap roadmaps are inter-team and user-focused. The tool provides flexibility in terms of the level of granularity that can be viewed, enabling users to drill down into specific details or see a high-level overview of the project as a whole.
For more context around roadmapping within the Protocol Labs Network, watch the Roadmapping Presentation from PL EngRes Team Summit in October 2022. This tool is introduced at 00:18:00.
To render a roadmap in Starmap, enter the related GitHub issue URL into the Starmap search bar. Depending on the size of the roadmap, the rendering may take a minute to load.
GitHub issues that do not satisfy the requirements for rendering in Starmap as outlined herein may not display correctly. To add your roadmap to GitHub in a manner that will allow it to render in Starmap.site, please refer to the section titled Storing Roadmaps in GitHub.
The fundamental unit of a roadmap is a project milestone. In the context of roadmapping with Starmap, a "milestone" refers to a project milestone and is distinct from the "Milestone" feature in GitHub.
Certain data must be encoded within the body of a GitHub issue in order to render properly in Starmap. These encodings can co-exist with other Markdown in the issue body.
For any encoding, Starmap will only take the first such occurrence in the body.
ETA: YYYY-MM-DD
Example: 2023-02-01
Title: [Team/Project Name] [Duration] Roadmap
Example: Starmap 2023 Roadmap
Example: Starmap Q4 2022 Roadmap
Title: [Team/Project Name] [Milestone Title]
Example: Starmap Hackathon
Description: Some description text for my milestone
which I am using to tell readers what value they
can expect to get from this milestone.
Tasklists allow for "taskifying" of strings, and we have no way to link a random string to a GitHub issue. You must convert any tasks to issues for them to show up as a child milestone.
We will do our best to support the expected syntax of GitHub's tasklist functionality.
See https://docs.github.com/en/issues/tracking-your-work-with-issues/about-tasklists#creating-tasklists and https://github.com/pln-planning-tools/Starmap/issues/245 for more details.
```[tasklist]
### Tasks
- [ ] https://github.com/pln-roadmap/Roadmap-Vizualizer/issues/10
- [ ] https://github.com/pln-roadmap/Roadmap-Vizualizer/issues/9
- [ ] https://github.com/pln-roadmap/Roadmap-Vizualizer/issues/8
\```
WARNING: This syntax is deprecated. Please see https://github.com/pln-planning-tools/Starmap/issues/245 for more details.
NOTE: All child milestones using the children:
syntax SHOULD appear between the section header and the first empty line for Starmap to recognize them. Failing to do this is a common cause of children milestones not rendering.
Children:
- https://github.com/pln-roadmap/Roadmap-Vizualizer/issues/10
- https://github.com/pln-roadmap/Roadmap-Vizualizer/issues/9
- https://github.com/pln-roadmap/Roadmap-Vizualizer/issues/8
Title: [Team/Project Name] [Duration] Roadmap
Description (optional):
The goal of this roadmap is to outline the key milestones and deliverables for our team/project over the next [Duration].
```[tasklist]
### Any descriptor or other text
- [ ] #123 <!-- will be recognized by starmap -->
- [ ] org/repo#123 <!-- will be recognized by starmap -->
- [ ] some non-link description <!-- will NOT be recognized by starmap -->
- [ ] https://github.com/org/repo/issue/987 <!-- will be recognized by starmap -->
### Any text
- [ ] #456 <!-- will be recognized by starmap -->
- [ ] org/repo#567 <!-- will be recognized by starmap -->
- [ ] https://github.com/other-org/other-repo/issue/987 <!-- will be recognized by starmap -->
\```
Note: This roadmap is subject to change as priorities and circumstances evolve.
Starmap Link: [Starmap Link]
NOTE: The children: section is deprecated. Please see https://github.com/pln-planning-tools/Starmap/issues/245 for more details
Title: [Team/Project Name] [Duration] Roadmap
Description (optional):
The goal of this roadmap is to outline the key milestones and deliverables for our team/project over the next [Duration].
Children:
[GitHub Milestone Link 1]
[GitHub Milestone Link 2]
[GitHub Milestone Link 3]
Note: This roadmap is subject to change as priorities and circumstances evolve.
Starmap Link: [Starmap Link]
Title: [Team/Project Name] [Milestone Title]
Description:
This milestone is part of the [Team/Project Name] [Duration] Roadmap (link to root issue).
(Optional) Objectives:
- [Objective 1]
- [Objective 2]
- [Objective 3]
(Optional) Key Deliverables:
- [Deliverable 1]
- [Deliverable 2]
- [Deliverable 3]
ETA: [YYY-MM-DD]
Resources:
- [Link to any relevant resources or documents]
Note: This milestone is subject to change as priorities and circumstances evolve.
If you are experiencing issues using Starmap, please don't hesitate to open an issue for support.
When Starmap is parsing children in your GitHub issue, look for valid Github Issue identifiers between the section header and the first empty line.
The getChildren
function is defined in the parser and works like this:
startIndex
and endIndex
into an array.null
.
null
.children:
syntax and have an extra space or empty-line where it shouldn't be.A GitHub Issue identifier can come in three different forms:
#<issue_number>
- Is converted to a full URL, using the current/parent issues <org> and <repo><org>/<repo>#<issue_number>