hey-aman-sharma 1.0.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.
- package/README.md +15 -0
- package/index.js +92 -0
- package/package.json +22 -0
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# aman-sharma
|
|
2
|
+
|
|
3
|
+
> A terminal business card. Run it, share it.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx aman-sharma
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Prints a minimal, colorful card in your terminal with info about Aman Sharma — Frontend Developer based in India.
|
|
10
|
+
|
|
11
|
+
**Zero dependencies. Pure Node.js.**
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
Made by [Aman Sharma](https://aman-me.vercel.app)
|
package/index.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// ─── ANSI helpers (zero deps) ───────────────────────────────────────────────
|
|
4
|
+
const r = '\x1b[0m';
|
|
5
|
+
const b = (s) => `\x1b[1m${s}${r}`;
|
|
6
|
+
const dim = (s) => `\x1b[2m${s}${r}`;
|
|
7
|
+
const cyan = (s) => `\x1b[36m${s}${r}`;
|
|
8
|
+
const green = (s) => `\x1b[32m${s}${r}`;
|
|
9
|
+
const yellow = (s) => `\x1b[33m${s}${r}`;
|
|
10
|
+
const magenta = (s) => `\x1b[35m${s}${r}`;
|
|
11
|
+
const gray = (s) => `\x1b[90m${s}${r}`;
|
|
12
|
+
const white = (s) => `\x1b[97m${s}${r}`;
|
|
13
|
+
const blue = (s) => `\x1b[34m${s}${r}`;
|
|
14
|
+
|
|
15
|
+
// ─── Card dimensions ────────────────────────────────────────────────────────
|
|
16
|
+
const W = 52;
|
|
17
|
+
const line = (content = '') => `${gray('│')} ${content}`;
|
|
18
|
+
const blank = () => line(pad('', W - 2));
|
|
19
|
+
const div = () => gray('├' + '─'.repeat(W) + '┤');
|
|
20
|
+
const top = () => gray('╭' + '─'.repeat(W) + '╮');
|
|
21
|
+
const bottom = () => gray('╰' + '─'.repeat(W) + '╯');
|
|
22
|
+
|
|
23
|
+
function pad(text, len) {
|
|
24
|
+
// Strip ANSI escape codes for length calculation
|
|
25
|
+
const clean = text.replace(/\x1b\[[0-9;]*m/g, '');
|
|
26
|
+
const spaces = Math.max(0, len - clean.length);
|
|
27
|
+
return text + ' '.repeat(spaces);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function row(left, right = '') {
|
|
31
|
+
const content = pad(left + (right ? ' ' + right : ''), W - 2);
|
|
32
|
+
return line(content);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// ─── Card content ───────────────────────────────────────────────────────────
|
|
36
|
+
const card = [
|
|
37
|
+
'',
|
|
38
|
+
top(),
|
|
39
|
+
blank(),
|
|
40
|
+
|
|
41
|
+
// Name + role
|
|
42
|
+
row(` ${b(white('AMAN SHARMA'))}`),
|
|
43
|
+
row(` ${cyan('Frontend Developer')} ${gray('·')} ${dim('currently @ GreySpace Digital')}`),
|
|
44
|
+
|
|
45
|
+
blank(),
|
|
46
|
+
div(),
|
|
47
|
+
blank(),
|
|
48
|
+
|
|
49
|
+
// Contact
|
|
50
|
+
row(` ${yellow('◈')} ${dim('email')} ${green('amanofficialsharma@gmail.com')}`),
|
|
51
|
+
row(` ${yellow('◈')} ${dim('phone')} ${white('+91 8826027964')}`),
|
|
52
|
+
row(` ${yellow('◈')} ${dim('web')} ${cyan('aman-me.vercel.app')}`),
|
|
53
|
+
row(` ${yellow('◈')} ${dim('github')} ${magenta('github.com/amansharma')}`),
|
|
54
|
+
|
|
55
|
+
blank(),
|
|
56
|
+
div(),
|
|
57
|
+
blank(),
|
|
58
|
+
|
|
59
|
+
// Stack
|
|
60
|
+
row(` ${blue('▸')} ${b('Stack')}`),
|
|
61
|
+
row(` ${cyan('React')} ${gray('·')} ${cyan('Next.js')} ${gray('·')} ${cyan('Node.js')} ${gray('·')} ${cyan('TypeScript')}`),
|
|
62
|
+
row(` ${green('PostgreSQL')} ${gray('·')} ${green('Redis')} ${gray('·')} ${green('MongoDB')}`),
|
|
63
|
+
row(` ${yellow('Docker')} ${gray('·')} ${yellow('AWS')} ${gray('·')} ${yellow('GCP')} ${gray('·')} ${yellow('Vercel')}`),
|
|
64
|
+
|
|
65
|
+
blank(),
|
|
66
|
+
div(),
|
|
67
|
+
blank(),
|
|
68
|
+
|
|
69
|
+
// Projects
|
|
70
|
+
row(` ${blue('▸')} ${b('Projects')}`),
|
|
71
|
+
row(` ${white('Bloop')} ${dim('─')} ${gray('Real-time full-stack chat app')}`),
|
|
72
|
+
row(` ${white('BSC')} ${dim('─')} ${gray('AI personal trainer on Android')}`),
|
|
73
|
+
row(` ${white('Folio')} ${dim('─')} ${gray('Personal site + blog (Next.js)')}`),
|
|
74
|
+
|
|
75
|
+
blank(),
|
|
76
|
+
div(),
|
|
77
|
+
blank(),
|
|
78
|
+
|
|
79
|
+
// Achievements
|
|
80
|
+
row(` ${blue('▸')} ${b('Highlights')}`),
|
|
81
|
+
row(` ${yellow('★')} ${gray('Smart India Hackathon Finalist')}`),
|
|
82
|
+
row(` ${yellow('★')} ${gray('Shankara Global Hackathon Runner-up')}`),
|
|
83
|
+
row(` ${yellow('★')} ${gray('5-star Play Store app · CGPA 9.1/10')}`),
|
|
84
|
+
|
|
85
|
+
blank(),
|
|
86
|
+
bottom(),
|
|
87
|
+
'',
|
|
88
|
+
` ${dim(" run")} ${green('npx aman-sharma')} ${dim('to share this card with anyone ')}`,
|
|
89
|
+
'',
|
|
90
|
+
];
|
|
91
|
+
|
|
92
|
+
card.forEach((l) => console.log(l));
|
package/package.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hey-aman-sharma",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A terminal business card for Aman Sharma — Frontend Developer",
|
|
5
|
+
"bin": {
|
|
6
|
+
"aman-sharma": "./index.js"
|
|
7
|
+
},
|
|
8
|
+
"scripts": {
|
|
9
|
+
"start": "node index.js"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"business-card",
|
|
13
|
+
"cli",
|
|
14
|
+
"terminal",
|
|
15
|
+
"aman-sharma"
|
|
16
|
+
],
|
|
17
|
+
"author": "Aman Sharma <amanofficialsharma@gmail.com>",
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=14"
|
|
21
|
+
}
|
|
22
|
+
}
|