kotonoha 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,82 @@
1
+ # PR description / commit message / issue report type
2
+
3
+ This doctype directly affects a reviewer's decision speed, so apply it more
4
+ strictly than the other types.
5
+
6
+ ## Commit messages
7
+
8
+ ### Format
9
+
10
+ ```text
11
+ <type>: <summary (imperative mood, ~50 chars)>
12
+
13
+ <body (optional) - what and why the change was made; the diff already
14
+ shows the "what" implementation details, so don't repeat them>
15
+
16
+ <footer (optional) - Fixes #123, BREAKING CHANGE: ... etc.>
17
+ ```
18
+
19
+ - Use imperative mood consistently in the summary line (e.g. "Fix", not
20
+ "Fixed"/"Fixes").
21
+ - The body should explain *why* the change was made, not restate *what*
22
+ changed — the diff already shows that.
23
+ - One concern per commit. Don't bundle unrelated changes into one commit
24
+ message.
25
+
26
+ ### Checklist
27
+
28
+ - [ ] Can the change be inferred from the summary line alone (not just
29
+ "fix" or "update")?
30
+ - [ ] Does the body explain "why" rather than paraphrase the diff?
31
+ - [ ] Is the related issue number in the footer?
32
+
33
+ ## PR descriptions
34
+
35
+ ### Recommended skeleton
36
+
37
+ 1. **What**: what changed, in 1–3 sentences.
38
+ 2. **Why**: why this change is needed (link to the background issue, bug
39
+ report, or request).
40
+ 3. **How**: the main approach. Leave implementation detail to code
41
+ comments and the diff; state only the design decisions here.
42
+ 4. **How to verify**: concrete steps the reviewer can use to reproduce and
43
+ verify — test commands, or where to find screenshots/GIFs.
44
+ 5. **Impact / breaking changes**: state explicitly if this affects other
45
+ teams' code or API consumers.
46
+ 6. **Remaining work / follow-ups** (if applicable): preempt likely review
47
+ questions about unfinished items.
48
+
49
+ ### Checklist
50
+
51
+ - [ ] Are What/Why/How separated, so reading only "What" gives the shape
52
+ of the change?
53
+ - [ ] Are there concrete steps (commands, URLs, repro conditions) the
54
+ reviewer can use to verify locally?
55
+ - [ ] Are breaking changes, DB migrations, config changes — anything a
56
+ reviewer could miss and cause an incident — near the top?
57
+ - [ ] Is there a link to the related issue/ticket?
58
+ - [ ] For UI changes, are screenshots actually attached?
59
+
60
+ ## Issue reports (bug reports / feature requests)
61
+
62
+ ### Bug report skeleton
63
+
64
+ 1. **Summary**: the symptom, in one sentence.
65
+ 2. **Steps to reproduce**: numbered, with environment info (version, OS,
66
+ browser, etc.) stated *before* the steps.
67
+ 3. **Expected vs. actual result**: contrast them explicitly.
68
+ 4. **Impact**: who is affected, and how often.
69
+
70
+ ### Feature request skeleton
71
+
72
+ 1. **Problem to solve**: state the situation causing pain before the
73
+ feature itself.
74
+ 2. **Proposed solution** (optional): if you have one in mind.
75
+ 3. **Alternatives considered** (optional).
76
+
77
+ ### Checklist (issues, common)
78
+
79
+ - [ ] Are the repro steps (or use case) concrete enough to reproduce
80
+ independent of the reader's environment?
81
+ - [ ] Are "expected" and "actual" explicitly contrasted (bug reports)?
82
+ - [ ] Is environment info stated before the repro steps?
@@ -0,0 +1,68 @@
1
+ # Qiita article type
2
+
3
+ Like Zenn, the title lives in YAML frontmatter, not an in-body heading.
4
+ Qiita's readership skews toward searching for a specific error message or
5
+ task, so apply rule 3 (order matching how the reader looks for
6
+ information) especially strictly here.
7
+
8
+ ## Target reader
9
+
10
+ A developer who arrived via search for a specific error, API, or task, and
11
+ is scanning to confirm this article addresses their exact situation.
12
+
13
+ ## Format
14
+
15
+ Markdown, with Qiita's frontmatter and a few platform-specific extensions
16
+ on top of GFM. No in-body '#' heading for the article title — sections
17
+ start at '##'.
18
+
19
+ ## Recommended frontmatter
20
+
21
+ ```yaml
22
+ ---
23
+ title: <Article title>
24
+ tags:
25
+ - <tag1>
26
+ - <tag2>
27
+ private: false # true: limited-share draft, false: public
28
+ organization_url_name: null # only if publishing under an Organization
29
+ ---
30
+ ```
31
+
32
+ - `title` and `tags` are required; `private` defaults the article to
33
+ public once posted, so confirm it deliberately rather than leaving the
34
+ default unconsidered.
35
+ - Qiita CLI also manages `updated_at`/`id`/`slide`/`ignorePublish` fields
36
+ automatically on publish/update — don't hand-edit those unless you know
37
+ why.
38
+
39
+ ## Recommended skeleton
40
+
41
+ 1. **Lead paragraph (right after frontmatter, before any heading)**: the
42
+ specific problem/error/task this article addresses and what the reader
43
+ will be able to do — this is rule 1's "first three lines" analog, since
44
+ there's no in-body title to carry it.
45
+ 2. **Environment / versions**: state the exact versions (language,
46
+ framework, OS) the article was verified against, before any steps —
47
+ Qiita readers frequently hit version-specific breakage.
48
+ 3. **Body sections, one concern per `##` heading**: order by how a reader
49
+ arriving via search would scan (rule 3) — put the fix/answer before
50
+ background explanation if the article is troubleshooting-oriented.
51
+ 4. **Code blocks with both a language tag and, where relevant, a filename**:
52
+ Qiita supports ` ```js:example.js ` — prefer this over a bare language
53
+ tag when the file identity matters to the reader.
54
+ 5. **References / further reading** (if applicable): official docs or
55
+ related articles, not a restatement of the body.
56
+
57
+ ## Checklist
58
+
59
+ - [ ] Are `title` and `tags` present, and is `private` a deliberate choice
60
+ rather than an unconsidered default?
61
+ - [ ] Does the lead paragraph right after frontmatter state the specific
62
+ problem/task addressed, since there's no in-body title to do that?
63
+ - [ ] Are the exact versions/environment stated before the steps?
64
+ - [ ] For troubleshooting-oriented articles, does the fix appear before
65
+ background explanation, matching how a reader arriving via search
66
+ would scan?
67
+ - [ ] Do code blocks carry a language tag (and a filename where the file
68
+ identity matters)?
@@ -0,0 +1,43 @@
1
+ # README type
2
+
3
+ The recommended skeleton and checklist for a project README: the document
4
+ most readers see first, and the one that decides whether they keep reading.
5
+
6
+ ## Target reader
7
+
8
+ Someone visiting this repository for the first time. They want to judge
9
+ "what is this", "do I need it", and "how do I start" within seconds.
10
+
11
+ ## Recommended skeleton
12
+
13
+ 1. **Title + one-sentence description**: right after the project name, say
14
+ what it does in one sentence.
15
+ 2. **What problem it solves (Why)**: problem → approach in 2–4 sentences,
16
+ before the feature list.
17
+ 3. **Key features / what you can do**: a bullet list, one feature per item,
18
+ starting with a verb.
19
+ 4. **Install / setup**: a command sequence that runs as copy-pasted.
20
+ Prerequisites (versions, OS, permissions) go in a separate section
21
+ *before* the steps.
22
+ 5. **Quickstart, headed with what it does**: the smallest successful
23
+ experience (a "hello world" equivalent) first, under a heading that
24
+ previews the concrete task (e.g. "Send your first request"), not the
25
+ generic label "Usage" (structure constitution rule 2). Move advanced
26
+ usage to a separate, similarly specific heading.
27
+ 6. **Configuration / options** (if applicable): a table (key, default,
28
+ description).
29
+ 7. **Known limitations / what's not supported**: don't omit this.
30
+ 8. **Contributing / license**: fine to leave at the end.
31
+
32
+ ## Checklist
33
+
34
+ - [ ] Does the one-sentence description right after the title convey "what
35
+ this does"?
36
+ - [ ] Do the install steps run top-to-bottom via copy-paste (no
37
+ prerequisite hidden mid-steps)?
38
+ - [ ] Is the quickstart section headed with a specific, task-previewing
39
+ label instead of the generic "Usage", and does it show the smallest
40
+ successful experience rather than an exhaustive feature list?
41
+ - [ ] Do badges/acknowledgments/license come after the main content, not
42
+ before it?
43
+ - [ ] Does a known-limitations section exist?
@@ -0,0 +1,30 @@
1
+ # Release notes / CHANGELOG type
2
+
3
+ The recommended skeleton and checklist for a per-version changelog entry,
4
+ written for a reader deciding whether and how to upgrade.
5
+
6
+ ## Target reader
7
+
8
+ An existing user deciding whether to upgrade. Reading time: seconds to a
9
+ few tens of seconds.
10
+
11
+ ## Recommended skeleton
12
+
13
+ 1. **Version + date**: always include both in the heading.
14
+ 2. **Breaking changes (topmost, if any)**: what breaks, with a link to the
15
+ migration steps. This is the one section that must never be omitted or
16
+ deferred.
17
+ 3. **Added / Changed / Fixed / Deprecated / Removed**: categorize per
18
+ [Keep a Changelog](https://keepachangelog.com/). One change per item,
19
+ starting with a verb.
20
+ 4. **Notes on affected user segments** (if applicable): scope it, e.g.
21
+ "affects only users of X".
22
+
23
+ ## Checklist
24
+
25
+ - [ ] Are breaking changes at the top, with a migration path (or link)?
26
+ - [ ] Does each item state "what changed and how" in one sentence (not a
27
+ raw copy of the commit message)?
28
+ - [ ] Do the categories (Added/Changed/Fixed, etc.) match the actual
29
+ change?
30
+ - [ ] Are both the version number and the date stated?
@@ -0,0 +1,58 @@
1
+ # User manual / how-to guide / tutorial type
2
+
3
+ For this doctype, quality is almost entirely determined by "can the reader
4
+ actually reproduce this by following it", so apply it more strictly than
5
+ the other types.
6
+
7
+ ## Target reader
8
+
9
+ Someone using the target product/feature for the first time, or after a
10
+ long gap. Assume thin prior knowledge of jargon.
11
+
12
+ ## Settle before writing
13
+
14
+ 1. **Floor of prior knowledge**: state up front "this guide assumes you
15
+ already know X". Without it, the reader pays a recurring cost of
16
+ deciding whether they're the intended audience.
17
+ 2. **Completion condition**: at the end of the steps, state what "success"
18
+ looks like in a verifiable form (a screen shown, a value returned, a
19
+ file produced).
20
+
21
+ ## Recommended skeleton
22
+
23
+ 1. **What this guide gets you**: the first three lines (rule 1 of the
24
+ structure constitution).
25
+ 2. **Prerequisites**: required permissions, installed software, versions.
26
+ A separate section, before the steps.
27
+ 3. **Steps**: one action per numbered step (rule 4). Each step has three
28
+ parts:
29
+ - the action to take (command/click target)
30
+ - how the screen/output changes afterward (so the reader can
31
+ self-verify they're on track)
32
+ - any tricky branch point, noted right there (not collected at the end)
33
+ 4. **Completion check**: a concrete way to verify "if you see this,
34
+ you've succeeded".
35
+ 5. **Troubleshooting**: symptom → cause → fix, as a table. Avoid phrasing
36
+ that just offloads the problem to the reader, like "if you see an
37
+ error, contact your administrator".
38
+
39
+ ## Tutorial-specific notes
40
+
41
+ - A tutorial's goal is "one success experience via the shortest path", not
42
+ exhaustive coverage. Move advanced options to a "further reading"
43
+ section instead of lengthening the main steps.
44
+ - Placing a verification point (screenshot, expected output sample) right
45
+ after each step lets the reader proceed without doubt.
46
+
47
+ ## Checklist
48
+
49
+ - [ ] Are prerequisites (permissions/environment/pre-installs) stated in
50
+ their own section before the steps?
51
+ - [ ] Is each step a single action, with information to confirm the state
52
+ change after executing it?
53
+ - [ ] Is the completion condition stated in a verifiable form (screen,
54
+ output, artifact)?
55
+ - [ ] Is troubleshooting in "symptom → cause → fix" form, without
56
+ offloading action entirely to the reader?
57
+ - [ ] Is jargon given a brief explanation on first use (relative to the
58
+ target reader's prior knowledge)?
@@ -0,0 +1,66 @@
1
+ # Zenn article type
2
+
3
+ For this platform, the title lives in YAML frontmatter, not an in-body
4
+ heading, and readers decide whether to keep reading within the first
5
+ screen — apply rule 1 of the structure constitution to the frontmatter
6
+ `title` plus the lead paragraph together, not to an in-body '#'.
7
+
8
+ ## Target reader
9
+
10
+ A developer scanning Zenn's feed or search results, deciding in a few
11
+ seconds whether this article solves their problem right now.
12
+
13
+ ## Format
14
+
15
+ Markdown, with Zenn's frontmatter and a few platform-specific extensions
16
+ on top of GFM. No in-body '#' heading for the article title — sections
17
+ start at '##'.
18
+
19
+ ## Recommended frontmatter
20
+
21
+ ```yaml
22
+ ---
23
+ title: "<Article title>"
24
+ emoji: "<One emoji representing the article>"
25
+ type: "tech" # "tech" for a technical explanation, "idea" for an opinion/experience piece
26
+ topics: ["<1-5 lowercase topics>"]
27
+ published: false # flip to true only when ready to publish
28
+ ---
29
+ ```
30
+
31
+ - `title`, `emoji`, `type`, `topics`, `published` are all required by Zenn;
32
+ a missing or malformed field can silently block publishing.
33
+ - Pick `type: "tech"` vs `"idea"` deliberately — it changes how the
34
+ article is categorized and discovered, not just a label.
35
+
36
+ ## Recommended skeleton
37
+
38
+ 1. **Lead paragraph (right after frontmatter, before any heading)**: what
39
+ this article gets the reader, and why now — this is rule 1's "first
40
+ three lines", since there's no in-body title to carry it.
41
+ 2. **Prerequisites** (if applicable): versions, environment, prior
42
+ knowledge assumed, before any steps.
43
+ 3. **Body sections, one concern per `##` heading**: order them the way the
44
+ reader would naturally need the information (rule 3).
45
+ 4. **Code blocks with both a language tag and, where relevant, a filename**:
46
+ Zenn supports ` ```js:example.js ` — prefer this over a bare language
47
+ tag when the file identity matters to the reader.
48
+ 5. **`:::message` / `:::message alert` boxes for asides**: use these for
49
+ genuinely non-obvious caveats or warnings, not routine notes — overuse
50
+ dilutes their signal.
51
+ 6. **Closing summary or "next steps" section** (if the article is long):
52
+ what the reader should now be able to do, echoing the lead paragraph's
53
+ promise.
54
+
55
+ ## Checklist
56
+
57
+ - [ ] Are all five required frontmatter fields present and non-empty
58
+ (`title`, `emoji`, `type`, `topics`, `published`)?
59
+ - [ ] Does the lead paragraph right after frontmatter state what this
60
+ article gets the reader, since there's no in-body title to do that?
61
+ - [ ] Is `type` ("tech" vs "idea") a deliberate choice, not a default left
62
+ unconsidered?
63
+ - [ ] Do code blocks carry a language tag (and a filename where the file
64
+ identity matters)?
65
+ - [ ] Are `:::message` boxes reserved for genuinely non-obvious asides
66
+ rather than routine notes?
@@ -0,0 +1,89 @@
1
+ # Technical Document Structure Constitution (8 rules)
2
+
3
+ Constraints to fix a technical document's *structure* before writing.
4
+ Sentence-level naturalness, vocabulary, and rhythm are out of scope here
5
+ (→ the domain of a prose-polishing skill such as natural-japanese).
6
+
7
+ ## Scope: living documents vs. atomic artifacts
8
+
9
+ These 8 rules assume a **living, multi-section reference document** —
10
+ README, design doc/ADR, API reference, release notes/CHANGELOG file as a
11
+ whole, user manual, Zenn/Qiita article. Apply all 8 rules to those
12
+ doctypes. For Zenn/Qiita specifically, rule 1's "title" lives in YAML
13
+ frontmatter rather than an in-body '#' heading — see their doctype
14
+ reference files for the platform-specific frontmatter fields — but every
15
+ other rule (heading hierarchy starting at '##', code examples, disclosed
16
+ limitations, etc.) still applies verbatim.
17
+
18
+ **Atomic, single-purpose artifacts** — commit messages, PR descriptions,
19
+ issue reports, code comments/docstrings, and a single new entry appended
20
+ to an existing release-notes/CHANGELOG file — have their own skeleton in
21
+ `references/doctypes/pr-commit.md`, `references/doctypes/code-comments.md`,
22
+ and `references/doctypes/release-notes.md` that already encodes the
23
+ equivalent discipline in a form that fits their size (e.g. a PR
24
+ description's What/Why/How opens the same way rule 1 asks a README to; a
25
+ single release-notes entry opens with its version/date heading instead of
26
+ a title-plus-paragraph). Follow that doctype's own skeleton for those
27
+ instead of applying the heading-hierarchy and document-metadata rules
28
+ below verbatim; where the two disagree, the doctype reference wins.
29
+
30
+ ## 1. Say "what this is" and "the outcome" in the first three lines
31
+
32
+ Readers decide "is this relevant to me" within the first three lines. Don't
33
+ open with background or acknowledgments. State up front what the document is
34
+ for and what the reader can do after reading it.
35
+
36
+ - Bad (Japanese example): 「本プロジェクトは日々成長を続けており、多くの貢献者の協力により…」
37
+ - Good (Japanese example): 「kotonoha は技術文書の構成を整えるための Copilot スキルです。README・設計書・PR説明文などを型に沿って書けます。」
38
+
39
+ ## 2. Make headings labels that preview content
40
+
41
+ Generic labels like "Overview", "Usage", "Notes" tell the reader nothing
42
+ until they read the body. Include *what* is being overviewed or used.
43
+
44
+ - Bad: `## Overview` `## Usage` `## Notes`
45
+ - Good: `## What kotonoha solves` `## Installing the skill into .github/skills` `## Behavior without sudachipy installed`
46
+
47
+ ## 3. Order steps as executed, and put prerequisites before the steps
48
+
49
+ Readers execute a document top to bottom. Placing prerequisites
50
+ (dependencies, permissions, prior setup) mid-way or at the end forces
51
+ readers to redo work partway through. Always give prerequisites their own
52
+ section before the steps.
53
+
54
+ ## 4. One action per numbered step
55
+
56
+ Don't pack multiple actions into one numbered item. "Install A, configure B,
57
+ and run C" should be three steps. Numbered steps let readers track exactly
58
+ where they are.
59
+
60
+ ## 5. Put a concrete example or number right after an abstract term
61
+
62
+ Words like "fast", "safe", "flexible", "easy to understand" convey nothing
63
+ by themselves. Follow them immediately with a concrete number, condition, or
64
+ code example.
65
+
66
+ - Bad: "lint.py runs fast."
67
+ - Good: "lint.py processes a 10,000-character document in under 1 second (excluding sudachipy initialization)."
68
+
69
+ ## 6. Keep code examples minimal and runnable; mark omissions explicitly
70
+
71
+ A code example that doesn't run as copy-pasted costs the reader time before
72
+ they realize it's broken. When omitting something, mark it explicitly (e.g.
73
+ `# ...`) and note that the reader should substitute their own values.
74
+
75
+ ## 7. Disclose known limitations and unsupported cases; don't hide them
76
+
77
+ "Not yet supported" or "doesn't work under this condition" doesn't lower a
78
+ document's value — it prevents the reader's wasted effort. State it in its
79
+ own section instead of omitting it.
80
+
81
+ ## 8. Keep a last-updated date or target version/branch where staleness is a real risk
82
+
83
+ A living reference document (README, design doc, API reference, user
84
+ manual) starts going stale the moment it's written. When such a document
85
+ could plausibly be read long after it stops being accurate, state when or
86
+ against what version/branch it was written, so the reader doesn't pay an
87
+ extra verification cost of "is this still accurate?" Skip this rule for
88
+ artifacts whose own metadata already carries that information (a commit
89
+ timestamp, a PR's merge date, a versioned release-notes heading).