codercraftz 1.0.0 → 1.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.
Files changed (3) hide show
  1. package/README.md +21 -0
  2. package/card.js +47 -26
  3. package/package.json +1 -1
package/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # npx codercraftz
2
+
3
+ A business card that runs in the terminal.
4
+
5
+ ## What it is
6
+
7
+ When someone runs `npx codercraftz` in their terminal, they instantly see your name, role, and links — no website, no browser needed. It's a way to introduce yourself to other developers in a medium they already live in: the terminal.
8
+
9
+ ## Why
10
+
11
+ Developers often share their npm username or GitHub handle. This turns that into something interactive. Instead of saying "google me", you say "run this". It's memorable, on-brand, and takes 5 seconds to experience.
12
+
13
+ ## How it works
14
+
15
+ It's a tiny Node.js script published to npm. `npx` downloads and runs it on the spot — no install required. Uses `chalk` for colors and `boxen` for the bordered card layout.
16
+
17
+ ## Try it
18
+
19
+ ```bash
20
+ npx codercraftz
21
+ ```
package/card.js CHANGED
@@ -3,31 +3,52 @@
3
3
  import chalk from "chalk";
4
4
  import boxen from "boxen";
5
5
 
6
- const green = chalk.hex("#39FF14");
7
- const dim = chalk.hex("#d6d6d6").dim;
8
- const white = chalk.hex("#d6d6d6");
9
-
10
- const card = boxen(
11
- [
12
- green.bold("Aibek Jumabek"),
13
- dim("Software Engineer & Content Creator"),
14
- "",
15
- `${dim("web")} ${white("codercraftz.com")}`,
16
- `${dim("email")} ${white("aibek [at] codercraftz [dot] com")}`,
17
- `${dim("github")} ${white("github.com/codercraftz")}`,
18
- `${dim("x")} ${white("x.com/codercraftz")}`,
19
- `${dim("youtube")} ${white("youtube.com/@codercraftz")}`,
20
- "",
21
- dim("The craft is the way."),
22
- ].join("\n"),
23
- {
24
- padding: 1,
25
- margin: 1,
26
- borderStyle: "single",
27
- borderColor: "#39FF14",
28
- title: green("$ npx codercraftz"),
29
- titleAlignment: "left",
30
- }
31
- );
6
+ const green = chalk.hex("#39FF14");
7
+ const cyan = chalk.hex("#6EE7F7");
8
+ const orange = chalk.hex("#F4A261").bold;
9
+ const dimGray = chalk.hex("#888888").dim;
10
+ const white = chalk.hex("#d6d6d6");
11
+ const sep = dimGray("::");
12
+
13
+ // Icon colors
14
+ const iconWork = chalk.hex("#F4A261"); // orange ⚙
15
+ const iconGitHub = chalk.hex("#A3E635"); // lime ★
16
+ const iconX = chalk.hex("#FFFFFF"); // white
17
+ const iconYouTube = chalk.hex("#FF4444"); // red ▶
18
+ const iconEmail = chalk.hex("#C084FC"); // purple ✉
19
+ const iconWeb = chalk.hex("#38BDF8"); // sky ⌂
20
+
21
+ const divider = dimGray("─".repeat(58));
22
+
23
+ const row = (icon, label, value) => {
24
+ const paddedLabel = cyan(label.padEnd(8));
25
+ return ` ${icon} ${paddedLabel} ${sep} ${white(value)}`;
26
+ };
27
+
28
+ const body = [
29
+ ` ${divider}`,
30
+ "",
31
+ row(iconWork("⚙"), "Work", "Software Engineer & Content Creator"),
32
+ row(iconGitHub("★"), "GitHub", "github.com/codercraftz"),
33
+ row(iconX("✦"), "X", "x.com/codercraftz"),
34
+ row(iconYouTube("▶"), "YouTube", "youtube.com/@codercraftz"),
35
+ row(iconEmail("✉"), "Email", "aibek@codercraftz.com"),
36
+ row(iconWeb("⌂"), "Web", "codercraftz.com"),
37
+ "",
38
+ ` ${divider}`,
39
+ "",
40
+ ` ${dimGray(">")} Run ${green("npx")} ${white.bold("codercraftz")} anytime to see this card`,
41
+ ].join("\n");
42
+
43
+ const title = ` ${orange("{Aibek Jumabek}")} ${cyan("</codercraftz>")} `;
44
+
45
+ const card = boxen(body, {
46
+ padding: { top: 1, bottom: 1, left: 2, right: 2 },
47
+ margin: 1,
48
+ borderStyle: "single",
49
+ borderColor: "#39FF14",
50
+ title,
51
+ titleAlignment: "left",
52
+ });
32
53
 
33
54
  console.log(card);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codercraftz",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Aibek Jumabek's npx card",
5
5
  "type": "module",
6
6
  "bin": {