reverentgeek 3.0.0 → 3.0.2
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/.claude/settings.local.json +9 -0
- package/CLAUDE.md +47 -0
- package/README.md +11 -1
- package/package.json +6 -5
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
This is a terminal calling card application built with Node.js that displays formatted personal information in a terminal box. Users run `npx reverentgeek` to see the author's contact info and bio in an ASCII art-styled terminal card.
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
- **Development preview**: `node bin/card.js` - Run the card locally to preview output
|
|
12
|
+
- **Linting**: `npm run lint` - Run ESLint on all JavaScript files in bin/ and art/ directories
|
|
13
|
+
- **Installation**: Users install/run via `npx reverentgeek`
|
|
14
|
+
|
|
15
|
+
## Architecture
|
|
16
|
+
|
|
17
|
+
### Core Components
|
|
18
|
+
|
|
19
|
+
- **bin/card.js**: Main entry point that orchestrates the entire card rendering
|
|
20
|
+
- **config/profile.js**: Contains all personal information, contact links, and art rendering order
|
|
21
|
+
- **bin/colors.js**: Defines color palette and gradient configurations using chalk and gradient-string
|
|
22
|
+
- **bin/text.js**: Text utilities for centering and wrapping text within specified widths
|
|
23
|
+
- **bin/render-info.js**: Handles formatting of info sections with labels and values
|
|
24
|
+
- **art/**: Directory containing ASCII art modules (avatar, banner, etc.)
|
|
25
|
+
|
|
26
|
+
### Data Flow
|
|
27
|
+
|
|
28
|
+
1. **card.js** imports profile data and art assets
|
|
29
|
+
2. Applies color styling to profile sections using colors defined in **colors.js**
|
|
30
|
+
3. Uses **text.js** utilities to format bio text and center headings
|
|
31
|
+
4. Uses **render-info.js** to format contact information sections
|
|
32
|
+
5. Loads and applies gradients to ASCII art from **art/** directory
|
|
33
|
+
6. Combines all elements and renders in a boxen-styled terminal box
|
|
34
|
+
|
|
35
|
+
### Customization Points
|
|
36
|
+
|
|
37
|
+
- **Profile data**: Edit `config/profile.js` to change name, bio, contact info, and art order
|
|
38
|
+
- **Colors/gradients**: Modify `bin/colors.js` for different color schemes
|
|
39
|
+
- **ASCII art**: Add new art files in `art/` directory and register in `art/index.js`
|
|
40
|
+
- **Styling**: Each info section supports style properties (orange, gradient, lightBlue, yellow)
|
|
41
|
+
|
|
42
|
+
### Key Patterns
|
|
43
|
+
|
|
44
|
+
- Profile sections can have string or array values for multi-line entries
|
|
45
|
+
- Art assets are loaded dynamically based on `artOrder` array in profile config
|
|
46
|
+
- Color styling is applied through a centralized `styleValue` function
|
|
47
|
+
- Text wrapping respects the horizontal rule width for consistent formatting
|
package/README.md
CHANGED
|
@@ -15,7 +15,17 @@ Clone this repo (or create a new one) and adjust the profile and art assets to b
|
|
|
15
15
|
- Edit `config/profile.js` with your name, biography, and contact links. Each entry in `infoSections` can be a string or an array if you want multiple lines under one label.
|
|
16
16
|
- Update colors or gradients by tweaking `bin/colors.js`, then reference any new styles by name from the profile file.
|
|
17
17
|
- Swap ASCII art by editing the files under `art/` or adding new modules and registering them in `art/index.js`. The `artOrder` export in `config/profile.js` controls the render sequence.
|
|
18
|
-
- Run `node bin/card.js` to preview the box output locally before publishing.
|
|
18
|
+
- Run `npm run lint` for style checks and `node bin/card.js` to preview the box output locally before publishing.
|
|
19
|
+
|
|
20
|
+
Want to publish it so others can view it with `npx`?
|
|
21
|
+
|
|
22
|
+
- Update `package.json` and change the name, version, and other fields to make it yours.
|
|
23
|
+
- Push your code to a new public repository.
|
|
24
|
+
- [Sign up for an npm account](https://www.npmjs.com/signup), if you don't have one.
|
|
25
|
+
- Authenticate with `npm login`.
|
|
26
|
+
- Publish your package using `npm publish` from the project root.
|
|
27
|
+
|
|
28
|
+
For more info, check out the [official npm publish guide](https://docs.npmjs.com/cli/v11/commands/npm-publish).
|
|
19
29
|
|
|
20
30
|
## Credit
|
|
21
31
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reverentgeek",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"description": "My personal calling card.",
|
|
5
5
|
"main": "./bin/card.js",
|
|
6
6
|
"bin": {
|
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"gradient-string": "^3.0.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"eslint": "^9.
|
|
31
|
-
"eslint-config-reverentgeek": "^6.3.
|
|
32
|
-
}
|
|
33
|
-
|
|
30
|
+
"eslint": "^9.39.1",
|
|
31
|
+
"eslint-config-reverentgeek": "^6.3.2"
|
|
32
|
+
},
|
|
33
|
+
"packageManager": "pnpm@10.22.0+sha512.bf049efe995b28f527fd2b41ae0474ce29186f7edcb3bf545087bd61fbbebb2bf75362d1307fda09c2d288e1e499787ac12d4fcb617a974718a6051f2eee741c"
|
|
34
|
+
}
|