@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.
Files changed (4) hide show
  1. package/README.md +14 -8
  2. package/index.js +114 -10
  3. package/llm.txt +129 -0
  4. 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 my about page, projects, open source work, and GSoC/LFX links in the terminal.
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
- - who I am
14
- - current work and recent milestones
15
- - open source contributions
16
- - selected projects
17
- - GSoC, LFX, and OSS guidance links
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
- - OSS / GSoC page: [rahulxf.com/oss](https://rahulxf.com/oss)
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 output = [
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("GSoC / LFX / OSS guidance"),
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
- section("Run again"),
94
- color(C.blue, "npx @rahulxf/about-me"),
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
- process.stdout.write(`${output.join("\n")}\n`);
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.0.0",
4
- "description": "A small npx package that prints Rahul Vishwakarma's about page, projects, OSS work, and GSoC/LFX links.",
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",