@rahulxf/about-me 1.0.0 → 1.4.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 +14 -8
- package/index.js +114 -10
- package/llm.txt +129 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
# @rahulxf/about-me
|
|
2
2
|
|
|
3
|
-
A small `npx` package that prints
|
|
3
|
+
A small `npx` package that prints a clean intro plus links, with optional detailed modes.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npx @rahulxf/about-me
|
|
9
|
+
npx @rahulxf/about-me --more
|
|
10
|
+
npx @rahulxf/about-me --resume
|
|
9
11
|
```
|
|
10
12
|
|
|
11
13
|
## What it shows
|
|
12
14
|
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
- a clean default intro and main links
|
|
16
|
+
- an extended `--more` mode for work, OSS, projects, and guidance
|
|
17
|
+
- a bundled formatted `llm.txt` resume
|
|
18
|
+
|
|
19
|
+
## Flags
|
|
20
|
+
|
|
21
|
+
- `--more` prints more details about work, OSS, projects, and GSoC/LFX guidance
|
|
22
|
+
- `--resume` prints the bundled `llm.txt` resume with spacing and colors
|
|
23
|
+
- `--help` shows the CLI help text
|
|
18
24
|
|
|
19
25
|
## Main links
|
|
20
26
|
|
|
21
27
|
- Website: [rahulxf.com](https://rahulxf.com)
|
|
22
|
-
-
|
|
23
|
-
- Projects: [rahulxf.com/projects](https://rahulxf.com/projects)
|
|
28
|
+
- GitHub: [github.com/manzil-infinity180](https://github.com/manzil-infinity180)
|
|
24
29
|
- Blog: [rahulxf.com/blog](https://rahulxf.com/blog)
|
|
30
|
+
- OSS / GSoC page: [rahulxf.com/oss](https://rahulxf.com/oss)
|
|
25
31
|
|
|
26
32
|
## Inspiration
|
|
27
33
|
|
package/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
const fs = require("node:fs");
|
|
4
|
+
const path = require("node:path");
|
|
5
|
+
|
|
3
6
|
const C = {
|
|
4
7
|
reset: "\x1b[0m",
|
|
5
8
|
bold: "\x1b[1m",
|
|
@@ -12,11 +15,14 @@ const C = {
|
|
|
12
15
|
gray: "\x1b[90m",
|
|
13
16
|
};
|
|
14
17
|
|
|
18
|
+
const args = new Set(process.argv.slice(2));
|
|
19
|
+
|
|
15
20
|
const color = (tone, text) => `${tone}${text}${C.reset}`;
|
|
16
21
|
const pad = (label, width = 18) => label.padEnd(width, " ");
|
|
17
22
|
const row = (label, value) => `${color(C.yellow, pad(label))} ${value}`;
|
|
18
23
|
const bullet = (text) => `${color(C.cyan, "•")} ${text}`;
|
|
19
|
-
const section = (title) => `\n${color(C.bold + C.magenta, title)}`;
|
|
24
|
+
const section = (title) => `\n\n${color(C.bold + C.magenta, title)}`;
|
|
25
|
+
const localLlmPath = path.join(__dirname, "llm.txt");
|
|
20
26
|
|
|
21
27
|
const links = {
|
|
22
28
|
website: "https://rahulxf.com",
|
|
@@ -26,8 +32,6 @@ const links = {
|
|
|
26
32
|
youtube: "https://www.youtube.com/@rahulxfd",
|
|
27
33
|
blog: "https://rahulxf.com/blog",
|
|
28
34
|
oss: "https://rahulxf.com/oss",
|
|
29
|
-
projects: "https://rahulxf.com/projects",
|
|
30
|
-
log: "https://rahulxf.com/log",
|
|
31
35
|
aflock: "https://github.com/aflock-ai/aflock",
|
|
32
36
|
rookery: "https://github.com/aflock-ai/rookery",
|
|
33
37
|
witness: "https://github.com/in-toto/witness",
|
|
@@ -38,10 +42,13 @@ const links = {
|
|
|
38
42
|
"https://drive.google.com/file/d/1ZGq7FUavp9ACvwkaxtZEQE35A-1KVj09/view?usp=drivesdk",
|
|
39
43
|
gsocPlaylist: "https://www.youtube.com/playlist?list=PL7CEUHGZqtd99Iafp-H9DeBIMaLbEC70c",
|
|
40
44
|
cncfMentoring: "https://github.com/cncf/mentoring",
|
|
45
|
+
llm: "https://www.rahulxf.com/llm.txt",
|
|
41
46
|
};
|
|
42
47
|
|
|
43
|
-
const
|
|
48
|
+
const buildDefaultOutput = () => [
|
|
49
|
+
"",
|
|
44
50
|
color(C.bold + C.green, "Rahul Vishwakarma / rahulxf"),
|
|
51
|
+
"",
|
|
45
52
|
color(
|
|
46
53
|
C.gray,
|
|
47
54
|
"Software engineer, open source contributor, GSoC developer, LFX mentee, and software supply chain security explorer.",
|
|
@@ -52,12 +59,29 @@ const output = [
|
|
|
52
59
|
row("GitHub", links.github),
|
|
53
60
|
row("Blog", links.blog),
|
|
54
61
|
row("OSS / GSoC", links.oss),
|
|
55
|
-
row("Projects", links.projects),
|
|
56
|
-
row("Log", links.log),
|
|
57
62
|
row("YouTube", links.youtube),
|
|
58
63
|
row("X", links.x),
|
|
59
64
|
row("LinkedIn", links.linkedin),
|
|
60
65
|
|
|
66
|
+
section("Now"),
|
|
67
|
+
bullet("Working across in-toto, aflock, rookery, Kubernetes, and software supply chain security."),
|
|
68
|
+
|
|
69
|
+
section("Run again"),
|
|
70
|
+
color(C.blue, "npx @rahulxf/about-me"),
|
|
71
|
+
color(C.blue, "npx @rahulxf/about-me --more"),
|
|
72
|
+
color(C.blue, "npx @rahulxf/about-me --resume"),
|
|
73
|
+
"",
|
|
74
|
+
];
|
|
75
|
+
|
|
76
|
+
const buildMoreOutput = () => [
|
|
77
|
+
"",
|
|
78
|
+
color(C.bold + C.green, "Rahul Vishwakarma / rahulxf"),
|
|
79
|
+
"",
|
|
80
|
+
color(
|
|
81
|
+
C.gray,
|
|
82
|
+
"Extended view with more work, projects, milestones, and OSS / GSoC / LFX details.",
|
|
83
|
+
),
|
|
84
|
+
|
|
61
85
|
section("Current focus"),
|
|
62
86
|
bullet("Software supply chain security through in-toto, attestations, and SBOM-adjacent workflows."),
|
|
63
87
|
bullet("Contributing to Witness & Archivista, aflock, and Kubernetes-related projects."),
|
|
@@ -82,16 +106,96 @@ const output = [
|
|
|
82
106
|
bullet("DumpStore: a full-stack bookmark platform with React, Node.js, Kubernetes, and ArgoCD."),
|
|
83
107
|
bullet("A real-time WebRTC collaboration app with messaging, file sharing, Monaco, and Yjs."),
|
|
84
108
|
|
|
85
|
-
section("
|
|
109
|
+
section("OSS / GSoC / LFX"),
|
|
86
110
|
bullet("Start early, contribute consistently, and write proposals grounded in real project understanding."),
|
|
87
111
|
bullet(`Advice page: ${links.oss}`),
|
|
88
112
|
bullet(`GSoC 2024 final report: ${links.gsocReport}`),
|
|
89
113
|
bullet(`GSoC proposal: ${links.gsocProposal}`),
|
|
90
114
|
bullet(`YouTube playlist: ${links.gsocPlaylist}`),
|
|
91
115
|
bullet(`CNCF mentoring repo: ${links.cncfMentoring}`),
|
|
116
|
+
"",
|
|
117
|
+
"",
|
|
118
|
+
];
|
|
92
119
|
|
|
93
|
-
|
|
94
|
-
|
|
120
|
+
const buildHelpOutput = () => [
|
|
121
|
+
"",
|
|
122
|
+
color(C.bold + C.green, "@rahulxf/about-me"),
|
|
123
|
+
"",
|
|
124
|
+
color(C.magenta, "Usage"),
|
|
125
|
+
" npx @rahulxf/about-me",
|
|
126
|
+
" npx @rahulxf/about-me --more",
|
|
127
|
+
" npx @rahulxf/about-me --resume",
|
|
128
|
+
" npx @rahulxf/about-me --help",
|
|
129
|
+
"",
|
|
130
|
+
color(C.magenta, "Flags"),
|
|
131
|
+
" --more Print more details about work, OSS, projects, and guidance",
|
|
132
|
+
" --resume Print the bundled llm.txt resume with spacing and colors",
|
|
133
|
+
" --help Show this help message",
|
|
134
|
+
"",
|
|
95
135
|
];
|
|
96
136
|
|
|
97
|
-
|
|
137
|
+
const printLines = (lines) => {
|
|
138
|
+
process.stdout.write(`${lines.join("\n")}\n`);
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
const formatResumeText = (text) => {
|
|
142
|
+
const lines = text.split("\n");
|
|
143
|
+
|
|
144
|
+
return lines.map((line, index) => {
|
|
145
|
+
if (!line.trim()) {
|
|
146
|
+
return "";
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (index === 0) {
|
|
150
|
+
return color(C.bold + C.green, line);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (index === 1) {
|
|
154
|
+
return color(C.gray, line);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (/^[A-Z][A-Z\s/()&+-]+$/.test(line)) {
|
|
158
|
+
return `\n${color(C.bold + C.magenta, line)}`;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (/^(Website|GitHub|LinkedIn|X|YouTube|Twitch|Frontend|Databases|Testing|Tech):/.test(line)) {
|
|
162
|
+
const [label, ...rest] = line.split(":");
|
|
163
|
+
return `${color(C.yellow, `${label}:`)}${rest.length ? ` ${rest.join(":").trim()}` : ""}`;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return line;
|
|
167
|
+
});
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
const printResume = async () => {
|
|
171
|
+
try {
|
|
172
|
+
const text = fs.readFileSync(localLlmPath, "utf8").trim();
|
|
173
|
+
printLines(["", ...formatResumeText(text), ""]);
|
|
174
|
+
} catch (error) {
|
|
175
|
+
process.stderr.write(
|
|
176
|
+
`${color(C.bold + C.yellow, "Could not read bundled resume.")}\n${String(error.message || error)}\n${localLlmPath}\n`,
|
|
177
|
+
);
|
|
178
|
+
process.exitCode = 1;
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
const main = async () => {
|
|
183
|
+
if (args.has("--help") || args.has("-h")) {
|
|
184
|
+
printLines(buildHelpOutput());
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if (args.has("--more")) {
|
|
189
|
+
printLines(buildMoreOutput());
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
if (args.has("--resume")) {
|
|
194
|
+
await printResume();
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
printLines(buildDefaultOutput());
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
main();
|
package/llm.txt
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
RAHUL VISHWAKARMA
|
|
2
|
+
Software Engineer | Open Source Contributor | Go • Kubernetes • Software Supply Chain Security
|
|
3
|
+
|
|
4
|
+
Gorakhpur, India | rahulvs2809@gmail.com
|
|
5
|
+
Website: https://rahulxf.com
|
|
6
|
+
GitHub: https://github.com/manzil-infinity180
|
|
7
|
+
LinkedIn: https://www.linkedin.com/in/rahulxf
|
|
8
|
+
X: https://x.com/rahulxf_
|
|
9
|
+
YouTube: https://www.youtube.com/@rahulxfd
|
|
10
|
+
Twitch: https://www.twitch.tv/rahulxf/
|
|
11
|
+
|
|
12
|
+
SUMMARY
|
|
13
|
+
Rahul Vishwakarma, also known as rahulxf, is a software engineer and open source contributor working across Go,
|
|
14
|
+
Kubernetes, DevSecOps, and software supply chain security. He is exploring, learning, and contributing around
|
|
15
|
+
in-toto, attestations, SBOMs, AI agent security, and cloud-native systems, while also building with Golang +
|
|
16
|
+
ConnectRPC.
|
|
17
|
+
|
|
18
|
+
CURRENT FOCUS
|
|
19
|
+
- Software supply chain security
|
|
20
|
+
- Go and cloud-native systems
|
|
21
|
+
- in-toto, Witness, Archivista, attestations, and policy verification
|
|
22
|
+
- AI agent security through aflock and related work
|
|
23
|
+
- Kubernetes controllers, APIs, and developer tooling
|
|
24
|
+
|
|
25
|
+
CORE SKILLS
|
|
26
|
+
Go, Kubernetes, client-go, controller-runtime, CRDs, SharedInformers, Helm, GitOps, ArgoCD, Docker, CI/CD,
|
|
27
|
+
Trivy, in-toto, Witness, Archivista, Rego/OPA, WebSockets, SPDY, ConnectRPC
|
|
28
|
+
Frontend: React, TypeScript
|
|
29
|
+
Databases: PostgreSQL, Redis, MongoDB
|
|
30
|
+
Testing: Cypress, Jest
|
|
31
|
+
|
|
32
|
+
EXPERIENCE
|
|
33
|
+
|
|
34
|
+
Open Source Intern (Contractor) @ TestifySec
|
|
35
|
+
Oct 2025 - Present
|
|
36
|
+
- Contributing to CNCF graduated project in-toto (Witness + Archivista) for software supply chain security.
|
|
37
|
+
- Implemented a Configuration Attestor to capture and verify CLI parameters for reproducible builds.
|
|
38
|
+
- Built policy verification features in Witness to validate policy structure, certificates, and Rego modules.
|
|
39
|
+
Tech: Go, in-toto, Witness, Archivista, Rego, Attestations, Supply Chain Security
|
|
40
|
+
|
|
41
|
+
LFX Mentee / Maintainer / Mentor @ KubeStellar
|
|
42
|
+
Jan 2025 - Aug 2025
|
|
43
|
+
- 50+ merged PRs; maintainer for KubeStellar UI project ensuring code quality and guiding contributors.
|
|
44
|
+
- Selected as mentor for the Plugin System project; led backend (Go) and frontend (React) development.
|
|
45
|
+
- Developed Kubernetes controllers and CRDs using client-go and controller-runtime.
|
|
46
|
+
- Built real-time workload log streaming and pod exec flows using SharedInformers, WebSockets, and SPDY.
|
|
47
|
+
Tech: Go, Kubernetes, controller-runtime, SharedInformers, React, WebSockets, SPDY, Redis, CI/CD
|
|
48
|
+
|
|
49
|
+
Google Summer of Code (GSoC) @ Submitty
|
|
50
|
+
May 2024 - Aug 2024
|
|
51
|
+
- Built end-to-end Cypress test suites for grading workflows and platform stability.
|
|
52
|
+
- Improved TA UX and student privacy by adding anonymous IDs in downloadable assignment files.
|
|
53
|
+
Tech: JavaScript, TypeScript, Cypress, E2E Testing
|
|
54
|
+
|
|
55
|
+
OPEN SOURCE CONTRIBUTIONS
|
|
56
|
+
|
|
57
|
+
in-toto Witness & Archivista
|
|
58
|
+
GitHub: https://github.com/in-toto/witness
|
|
59
|
+
- Contributing to software supply chain security by building attestors and policy verification features for
|
|
60
|
+
attestations, certificates, and Rego-based validation workflows.
|
|
61
|
+
Tech: Go, Rego, Supply Chain Security, Attestations
|
|
62
|
+
|
|
63
|
+
Aflock
|
|
64
|
+
GitHub: https://github.com/aflock-ai/aflock
|
|
65
|
+
- Working on cryptographically signed policy files that constrain AI agent execution with limits for tools,
|
|
66
|
+
files, spend, and domain access, while producing verifiable in-toto attestations for every action.
|
|
67
|
+
Tech: Go, AI Agent Security, in-toto, Attestations, Policy Enforcement
|
|
68
|
+
|
|
69
|
+
Rookery
|
|
70
|
+
GitHub: https://github.com/aflock-ai/rookery
|
|
71
|
+
- Contributing to a modular attestation framework monorepo that supports secure evidence generation workflows
|
|
72
|
+
around Witness-style systems.
|
|
73
|
+
Tech: Go, Witness, Attestations, Supply Chain Security, Plugins
|
|
74
|
+
|
|
75
|
+
CNCF KubeStellar
|
|
76
|
+
GitHub: https://github.com/kubestellar/kubestellar
|
|
77
|
+
- Worked on Kubernetes controllers, CRDs, real-time log streaming, and backend APIs for cluster workflows.
|
|
78
|
+
Tech: Go, Kubernetes, WebSockets, SPDY
|
|
79
|
+
|
|
80
|
+
Kubernetes TestGrid
|
|
81
|
+
GitHub: https://github.com/kubernetes/test-infra
|
|
82
|
+
- Contributing to Kubernetes CI/CD infrastructure and test result visualization workflows.
|
|
83
|
+
Tech: Go, Kubernetes, CI/CD
|
|
84
|
+
|
|
85
|
+
Kubebuilder
|
|
86
|
+
GitHub: https://github.com/kubernetes-sigs/kubebuilder
|
|
87
|
+
- Contributed around the Kubernetes operator and controller ecosystem.
|
|
88
|
+
Tech: Go, Kubernetes, Operators
|
|
89
|
+
|
|
90
|
+
PERSONAL PROJECTS
|
|
91
|
+
|
|
92
|
+
Kubernetes CVE Scanner with Custom Controller
|
|
93
|
+
GitHub: https://github.com/manzil-infinity180/k8s-custom-controller
|
|
94
|
+
- Built a Kubernetes custom controller in Go that auto-generates Services and Ingresses for Deployments.
|
|
95
|
+
- Integrated a Validating Admission Webhook with Trivy to block workloads with critical CVEs.
|
|
96
|
+
Tech: Go, Kubernetes, Trivy, Helm, SharedInformers
|
|
97
|
+
|
|
98
|
+
DumpStore
|
|
99
|
+
GitHub: https://github.com/manzil-infinity180/dumpStore
|
|
100
|
+
- Built a full-stack bookmarking platform with React, Node.js, and ML-powered tag suggestions.
|
|
101
|
+
- Deployed services to Kubernetes with Helm and GitOps via ArgoCD.
|
|
102
|
+
Tech: React, Node.js, Kubernetes, ArgoCD, Gemini API
|
|
103
|
+
|
|
104
|
+
Real-Time WebRTC Communication Platform
|
|
105
|
+
GitHub: https://github.com/manzil-infinity180/webrtc-client
|
|
106
|
+
- Developed a WebRTC/WebSocket application with real-time messaging, file sharing, and video chat.
|
|
107
|
+
- Integrated Monaco Editor and Yjs for collaborative coding workflows.
|
|
108
|
+
Tech: WebRTC, WebSocket, React, Monaco Editor, Yjs
|
|
109
|
+
|
|
110
|
+
WRITING
|
|
111
|
+
- Blog index: https://rahulxf.com/blog
|
|
112
|
+
- OSS / GSoC / LFX notes: https://rahulxf.com/oss
|
|
113
|
+
- Medium: https://medium.com/@rahulxf
|
|
114
|
+
|
|
115
|
+
Hosted articles on rahulxf.com:
|
|
116
|
+
- https://rahulxf.com/blog/introducing-aflock-package-lock-json-but-for-ai-agents
|
|
117
|
+
- https://rahulxf.com/blog/why-i-joined-testifysec-and-contribute-to-witness-archivista
|
|
118
|
+
- https://rahulxf.com/blog/creating-an-alpine-package-for-a-go-application-apkbuild
|
|
119
|
+
- https://rahulxf.com/blog/introduction-to-witness-verifying-software-supply-chain-attestations
|
|
120
|
+
- https://rahulxf.com/blog/alpine-linux-package-management-practice
|
|
121
|
+
|
|
122
|
+
MILESTONES
|
|
123
|
+
- Upcoming June 2026: Speaker @ KubeCon + CloudNativeCon India 2026 for an in-toto Witness maintainer talk.
|
|
124
|
+
- Started live streaming on YouTube and Twitch around AI agents, building in public, and live Golang sessions.
|
|
125
|
+
- Contributor to GSoC, LFX, CNCF, Kubernetes, and in-toto ecosystem projects.
|
|
126
|
+
|
|
127
|
+
EDUCATION
|
|
128
|
+
Madan Mohan Malaviya University of Technology (MMMUT), Gorakhpur
|
|
129
|
+
B.Tech in Computer Science and Engineering | 2022 - 2026
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rahulxf/about-me",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "A small npx package that prints Rahul Vishwakarma
|
|
3
|
+
"version": "1.4.0",
|
|
4
|
+
"description": "A small npx package that prints a clean Rahul Vishwakarma intro, optional detailed output, and a bundled formatted llm.txt resume.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"about-me": "index.js"
|
|
7
7
|
},
|
|
8
8
|
"files": [
|
|
9
9
|
"index.js",
|
|
10
|
-
"README.md"
|
|
10
|
+
"README.md",
|
|
11
|
+
"llm.txt"
|
|
11
12
|
],
|
|
12
13
|
"keywords": [
|
|
13
14
|
"rahulxf",
|