Purpose

The purpose of this document is to state quite clearly the idea that will be further developed into a project.

Slugline

Describe in as single sentance the purpose of this project.

I wish to create an elegant blog that can hold all my project ideas, plans, specifications, and progress.

Expand the Idea

Priority value sorts kanban card into swimlane buckets with highest priority at the top.

This let’s have a grid view with axes of priority vs status / completion / stage e.g. 350 high priority lane, in-progess with x offset from completion value

Grouping requirements into features and epic i.e. major and minor milestones

Convert priority field from number in range 0 to 1000 into list e.g. very low, low, mid, high, very high, urgent, etc

Bucket ranges in hugo.toml

1.  0-99: critical app breaking production error
2.  100-199: critical flaw but still runs and doesn't affect others
3.  200-299: customer wants it yesterday but isn't bleeding cash from not having it
4.  TBD:
4.  600-699: normal
5.  TBD:
6.  700: low
7.  TBD:
9.  800: wish list
10. 900: ideation

Alternative names and concepts:

- Expedite
- Customer issues
- Bugs
- Technical debt
- Customer features
- Technical / required features

Review as a stage, but not shown for my usual flow Others as well e.g waiting, halted / blocked / on-hold, code review, acceptance or rejection from completion Intermediate stages maybe as tags e.g. started, finished, ship it (to next stage)

Feature: limits of how many may be in each stage, flag overflow

Continuous Integration (CI)

- eslint on push to github / commit to repo

Prettier on push. Make it all the same…is that possible? Seems like a pre-hook is needed on git repo for this. Same for lint. Run build command too to ensure most up to date deliverables e,g. Make .pdf files from the docs and put them in /static.

Hugo taxonomies exported as json for use by js components. Rss feeds. Kanban progress in the rss if possible. Any way to call hooks on Discord and the like?

Kanban Card Short Names / Ids

Steps to make project. Every single deliverable, action, or step should have a kanban card and ID.

- Meta: mt-001 - capture initial steps as well, short list
    of things to remember to get started
- Ideation: id-001
- Conception: cn-011
- Requirements: rq-001
- Specification: sp-001
- Deliverables: dl-001
- Scaffold: sc-001 - online services,repo, skeleton code, scaffolding
- Features: ft-001
- Acceptance: ac-001 - criteria needed for acceptance of work
- Deployment: dp-001 - steps required to deploy the app
- Bugs: bg-001 - link to guthub issues
- Releases: rl-001 versioned releases, tie in with
    github releases
- Testing: ts-001
- Requests: rq-001 - feature requests and changes to spec
- User Stories: us-001

Figure out this list as a tree of dependencies

Base cycle on github features and bug tracking / issues needs

Kanban should be idempotent and immutable, no reusing ids.

Are user stories dependencies? One card for each? A card per requirement and thus each requirement must have a short identification

If this is all written into the documentation with shortcodes the whole thing should be verifiable when in progress or completed.

Sort by priority, due date, status enum if available.

Shortcode to embed kanban card link and maybe mini kanban, with a search through the folders to locate it e.g. {{ kanban “kb-001” }}, {{ kanban-tiny “kb-001” }}

Search works with partial name globbing to make the name shorter and easier to type and remember.

Bonus points if you make embedded svg graphic icons of the kanban.

Each document has its own card, maybe multiple e.g. tech spec

Categories:

- Deliverable
- Document
- Specification

Tags:

- example tag

Expect some overlap with the tags and categories, though in general we should aim to make them mutally exclusive.

One card for each major milestone.

Milestones:

- ideation
- refinement
- gather requirements
- write specs
- coding
- testing / qa
- deployment
    - staging
    - production

Board sort order selected by buttons or tabs. Link through taxonomies. Should there be a master list of cards somewhere and is that just generated or the docs spec it out and flag missing ones.

Identify blockers and dependencies: Ensure that your kanban board enables immediate identification of blockers and dependencies.

Hours spent vs estimated.

Status:

- test
- deploy
- working
- styled
- laid out
- broken
- pending
- in-progress
- complete

Free form text status line.

More States:

- pending
- in-progress
- complete

Identify blockers and dependencies: Ensure that your kanban board enables immediate identification of blockers and dependencies.

Bkuesky goals

Typescript utility command available from npm which munges the emitted taxonomies and Meta from hugo.

Solving problems which are too hard for templates alone. Runs on node.js, can be package.json dependency.

Charts that I generate using svg e.g. candlestick for progress…could be an npm module based on some charting library. Just feed my taxonomies into it and save the output as usable media.

Move a bunch of stuff out of my todoist list and into projects with this as a way to manage their creation.

Does the theme have to be in the themes folder? Can it be named and served from a default location?

Npx command to scaffold / create new empty project with this theme installed. Another that can update it inside hugo…not in the node_modules, because there is no way hugo can access it like that.

That said, I should make this as a theme that can be brought in as a github submodule.

Json output files need bare base of that sets the content-type header attribute

Move hugo.toml to /config folder.

Google analytics?

Hugo config merge code might be perfect for my single source of truth merge code - types of merge: none, shallow, deep.

Js utility that uses real file path from hugo as a stem, and performs system calls on it from kanban pages to add interactivity like:

Mark a card complete, move to next stage, using ‘git mv src dst’ To preserve git history. Dangerous.

Simple edits e.g. priority setting via a drop down menu.

Might be able to run small node.js service with router and http server. It runs in the background, you put the addr into config file and the js makes calls on it for dangerous shell services like ‘git mv’ and file edits on the front matter.

User Stories

- User
- Wants
- Because
- End result / benefit
- User - action - benefit

Give the user a name (androgynous) to make it more prose-like e.g.

- Robin wants / needs / must
- keep a list of things to do
- So they can be more productive
- Robin is more productive

Functional Requirements

Functional requirements use precise “The system shall” language to eliminate ambiguity and provide clear criteria.

Non-Functional Requirements

Non-functional requirements define how well the system performs rather than what it does.

Is that the best definition? Search for more.

Swimlanes

Support and maintenance

Dashboard

Make small static dashboard as a single page showing project health, stat’s, how many are behind, number of issues, everything at a glance.

Create a dashboard taxonomy. Like bare pages but with a little navigation available. Not restricted to prose width screen, can use whole monitor if needed for wide kanban board viewing.

Eat you own dog food ASAP. Start making kanban cards to plan out stages, put in very basic requirements specs, and deliverables, features, etc.