inclusion-md 0.2.3 → 0.2.4

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.
package/lib/init.js CHANGED
@@ -6,7 +6,6 @@ const path = require("path");
6
6
  const c = require("./colors");
7
7
  const { createPrompter } = require("./prompt");
8
8
  const { loadTemplate, renderGeneric, VARIANTS } = require("./template");
9
- const ascii = require("./ascii");
10
9
  const { runQuestionnaire, TOTAL_QUESTIONS } = require("./questionnaire");
11
10
 
12
11
  const REPO_URL = "https://github.com/BranonConor/inclusion.md";
@@ -14,9 +13,6 @@ const ESSAY_URL = "https://branon.dev/blog/posts/the-need-for-inclusion-md";
14
13
 
15
14
  async function welcome(args) {
16
15
  c.set(args.color);
17
- await ascii.play({
18
- enabled: ascii.shouldAnimate({ noColor: !args.color, yes: args.yes }),
19
- });
20
16
  process.stdout.write(
21
17
  "\n" +
22
18
  c.magenta(c.bold("Welcome to the INCLUSION.md CLI!")) +
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inclusion-md",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Scaffold an INCLUSION.md - a context engineering doc that gives AI coding assistants inclusion-oriented guidance during code generation.",
5
5
  "keywords": [
6
6
  "inclusion",
package/lib/ascii.js DELETED
@@ -1,87 +0,0 @@
1
- "use strict";
2
-
3
- const c = require("./colors");
4
-
5
- /**
6
- * Animated INCLUSION.md wordmark. The letters wipe in from left to right,
7
- * then settle from dim to bold.
8
- *
9
- * Accessibility:
10
- * - Skipped automatically when stdout is not a TTY (CI, piped output).
11
- * - Skipped when --no-color is passed (intensity is the cue).
12
- * - Skipped when --yes is passed (non-interactive runs).
13
- * - No flashing, no inverted colors, no decorative color. Motion is a
14
- * single left-to-right reveal under 1 second total.
15
- * - Uses Unicode block characters; terminals without block-drawing glyph
16
- * support will see boxes instead of letters but the CLI still works.
17
- */
18
-
19
- // "INCLUSION.md" wordmark, 3 rows tall, 73 columns wide.
20
- const ART = [
21
- "██ ███ ██ ▄█████ ██ ██ ██ ▄█████ ██ ▄████▄ ███ ██ ▄▄ ▄▄ ▄▄▄▄ ",
22
- "██ ██ ▀▄██ ██ ██ ██ ██ ▀▀▀▄▄▄ ██ ██ ██ ██ ▀▄██ ██▀▄▀██ ██▀██",
23
- "██ ██ ██ ▀█████ ██████ ▀████▀ █████▀ ██ ▀████▀ ██ ██ ▄ ██ ██ ████▀",
24
- ];
25
-
26
- const ART_WIDTH = ART[0].length;
27
- const ART_LINES = ART.length + 2; // includes 1 blank line top + bottom
28
-
29
- function stylize(s, intensity) {
30
- // intensity: 0 = dim, 1 = normal, 2 = bold
31
- if (intensity === 0) return c.dim(s);
32
- if (intensity === 2) return c.bold(s);
33
- return s;
34
- }
35
-
36
- function renderRevealed(width, intensity) {
37
- const lines = ART.map((line) => {
38
- const visible = line.slice(0, width);
39
- const padded = visible.padEnd(ART_WIDTH, " ");
40
- return stylize(padded, intensity);
41
- });
42
- return ["", ...lines, ""].join("\n");
43
- }
44
-
45
- function clearLines(n) {
46
- for (let i = 0; i < n; i++) {
47
- process.stdout.write("\x1b[1A\x1b[2K");
48
- }
49
- }
50
-
51
- function sleep(ms) {
52
- return new Promise((resolve) => setTimeout(resolve, ms));
53
- }
54
-
55
- async function play({ enabled = true, frameMs = 70 } = {}) {
56
- if (!enabled) {
57
- // Static render so non-animated runs aren't blank.
58
- process.stdout.write(renderRevealed(ART_WIDTH, 2) + "\n");
59
- return;
60
- }
61
-
62
- // Phase 1: column-wipe reveal in 6 steps, dim.
63
- const steps = 6;
64
- for (let i = 1; i <= steps; i++) {
65
- const w = Math.ceil((ART_WIDTH * i) / steps);
66
- process.stdout.write(renderRevealed(w, 0) + "\n");
67
- await sleep(frameMs);
68
- clearLines(ART_LINES + 1);
69
- }
70
-
71
- // Phase 2: settle — full art, normal then bold.
72
- process.stdout.write(renderRevealed(ART_WIDTH, 1) + "\n");
73
- await sleep(120);
74
- clearLines(ART_LINES + 1);
75
- process.stdout.write(renderRevealed(ART_WIDTH, 2) + "\n");
76
- }
77
-
78
- function shouldAnimate({ noColor, yes }) {
79
- if (yes) return false;
80
- if (noColor) return false;
81
- if (!process.stdout.isTTY) return false;
82
- if (process.env.CI) return false;
83
- return true;
84
- }
85
-
86
- // Back-compat: previous versions exported FRAMES.
87
- module.exports = { play, shouldAnimate, ART, FRAMES: [ART, ART, ART] };