rtexit-method 0.1.1 → 0.1.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rtexit-method",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "RTExit - AI-assisted Red Team methodology installer",
5
5
  "license": "MIT",
6
6
  "author": "Exit Code",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@clack/prompts": "^1.4.0",
24
- "commander": "^14.0.0"
24
+ "commander": "^14.0.0"
25
25
  },
26
26
  "engines": {
27
27
  "node": ">=20.12.0"
@@ -46,5 +46,10 @@
46
46
  ],
47
47
  "publishConfig": {
48
48
  "access": "public"
49
- }
49
+ },
50
+ "directories": {
51
+ "doc": "docs",
52
+ "test": "test"
53
+ },
54
+ "type": "commonjs"
50
55
  }
@@ -26,7 +26,6 @@ async function installCommand(options = {}) {
26
26
  answers: {
27
27
  language: answers.language,
28
28
  document_output_language: answers.document_output_language,
29
- skill_level: answers.skill_level,
30
29
  },
31
30
  });
32
31
 
@@ -1,11 +1,19 @@
1
1
  function renderBanner() {
2
+ const red = '\x1b[31m';
3
+ const dim = '\x1b[90m';
4
+ const reset = '\x1b[0m';
5
+
2
6
  return [
3
- '+------------------------------------------------------------------------------+',
4
- '| RTExit |',
5
- '| AI-Assisted Red Team Methodology |',
6
- '| Install official RTExit framework assets into your project. |',
7
- '| Website: https://www.exitcode.me/ |',
8
- '+------------------------------------------------------------------------------+',
7
+ `${red}██████╗ ████████╗███████╗██╗ ██╗██╗████████╗${reset}`,
8
+ `${red}██╔══██╗╚══██╔══╝██╔════╝╚██╗██╔╝██║╚══██╔══╝${reset}`,
9
+ `${red}██████╔╝ ██║ █████╗ ╚███╔╝ ██║ ██║${reset}`,
10
+ `${red}██╔══██╗ ██║ ██╔══╝ ██╔██╗ ██║ ██║${reset}`,
11
+ `${red}██║ ██║ ██║ ███████╗██╔╝ ██╗██║ ██║${reset}`,
12
+ `${red}╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝${reset}`,
13
+ '',
14
+ `${dim}RTExit | AI-Assisted Red Team Methodology${reset}`,
15
+ `${dim}Install official RTExit framework assets into your project.${reset}`,
16
+ `${dim}Website: https://www.exitcode.me/${reset}`,
9
17
  ].join('\n');
10
18
  }
11
19
 
@@ -22,22 +22,12 @@ async function askInstallQuestions({ cwd }) {
22
22
  ],
23
23
  });
24
24
 
25
- const skill_level = await prompts.select({
26
- message: 'Choose skill level',
27
- options: [
28
- { value: 'beginner', label: 'Beginner' },
29
- { value: 'intermediate', label: 'Intermediate' },
30
- { value: 'advanced', label: 'Advanced' },
31
- { value: 'expert', label: 'Expert' },
32
- ],
33
- });
34
-
35
25
  const confirmed = await prompts.confirm({
36
26
  message: `Install RTExit into ${targetDirectory}?`,
37
27
  initialValue: true,
38
28
  });
39
29
 
40
- return { targetDirectory, language, document_output_language, skill_level, confirmed };
30
+ return { targetDirectory, language, document_output_language, confirmed };
41
31
  }
42
32
 
43
33
  module.exports = { askInstallQuestions };
@@ -17,14 +17,20 @@ async function writeUserConfig({ targetRoot, answers }) {
17
17
  fs.mkdirSync(configDir, { recursive: true });
18
18
 
19
19
  if (!fs.existsSync(configPath)) {
20
- fs.writeFileSync(configPath, `${buildConfigTemplate(answers)}\n`);
20
+ fs.writeFileSync(
21
+ configPath,
22
+ `${buildConfigTemplate({
23
+ language: answers.language,
24
+ document_output_language: answers.document_output_language,
25
+ skill_level: '',
26
+ })}\n`,
27
+ );
21
28
  return configPath;
22
29
  }
23
30
 
24
31
  let content = fs.readFileSync(configPath, 'utf8');
25
32
  content = upsertKey(content, 'language', answers.language);
26
33
  content = upsertKey(content, 'document_output_language', answers.document_output_language);
27
- content = upsertKey(content, 'skill_level', answers.skill_level);
28
34
  fs.writeFileSync(configPath, content);
29
35
  return configPath;
30
36
  }