aex-code 1.0.1 → 1.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aex-code",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Next-Gen OpenRouter Coding Agent CLI - Powered by AI Extension",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -6,6 +6,8 @@ import path from 'path';
6
6
  import boxen from 'boxen';
7
7
  import { createClient, getDefaultModel, debugApiKey } from '../utils/openrouter.js';
8
8
 
9
+ const aexTheme = chalk.hex('#74ffd8');
10
+
9
11
  const SYSTEM_PROMPT = `You are AEX Code, an advanced coding agent. You provide short, actionable coding assistance.
10
12
  If asked to edit a file, provide the full file contents or explicitly outline what to change in the file.
11
13
  Try to use <tool_call> JSON format for file writes if possible.
@@ -15,12 +17,12 @@ let conversationHistory = [];
15
17
 
16
18
  export async function chatCommand() {
17
19
  console.clear();
18
- const chatHeader = boxen(chalk.greenBright.bold('A E X C O D E'), {
19
- padding: 1, margin: 1, borderStyle: 'bold', borderColor: 'green'
20
+ const chatHeader = boxen(aexTheme.bold('A E X C O D E'), {
21
+ padding: 1, margin: 1, borderStyle: 'bold', borderColor: '#74ffd8'
20
22
  });
21
23
  console.log(chatHeader);
22
- console.log(chalk.green(` ■ Target Model : ${chalk.gray(getDefaultModel())}`));
23
- console.log(chalk.green(` ■ Exit Command : ${chalk.gray("'exit'")}\n`));
24
+ console.log(aexTheme(` ■ Target Model : ${chalk.gray(getDefaultModel())}`));
25
+ console.log(aexTheme(` ■ Exit Command : ${chalk.gray("'exit'")}\n`));
24
26
 
25
27
  let client;
26
28
  try {
@@ -38,12 +40,12 @@ export async function chatCommand() {
38
40
  {
39
41
  type: 'input',
40
42
  name: 'userInput',
41
- message: chalk.bold.green('■ USER : '),
43
+ message: aexTheme.bold('■ USER : '),
42
44
  }
43
45
  ]);
44
46
 
45
47
  if (userInput.trim().toLowerCase() === 'exit') {
46
- console.log(chalk.green('\n■ SESSION TERMINATED.'));
48
+ console.log(aexTheme('\n■ SESSION TERMINATED.'));
47
49
  break;
48
50
  }
49
51
 
@@ -51,8 +53,8 @@ export async function chatCommand() {
51
53
 
52
54
  process.stdout.write('\n');
53
55
  const spinner = ora({
54
- text: chalk.italic.green('AEX PROCESSSING...'),
55
- color: 'green',
56
+ text: aexTheme.italic('AEX PROCESSSING...'),
57
+ color: 'cyan', // closest default spinner color to the hex
56
58
  }).start();
57
59
 
58
60
  try {
@@ -63,12 +65,12 @@ export async function chatCommand() {
63
65
  });
64
66
 
65
67
  spinner.stop();
66
- process.stdout.write(`${chalk.bgGreen.black.bold(' ■ AEX AGENT ')} `);
68
+ process.stdout.write(`${chalk.bgHex('#74ffd8').black.bold(' ■ AEX AGENT ')} `);
67
69
 
68
70
  let fullContent = '';
69
71
  for await (const chunk of response) {
70
72
  const text = chunk.choices[0]?.delta?.content || '';
71
- process.stdout.write(chalk.green(text));
73
+ process.stdout.write(aexTheme(text));
72
74
  fullContent += text;
73
75
  }
74
76
  console.log('\n');
@@ -1,18 +1,20 @@
1
1
  import chalk from 'chalk';
2
2
  import { saveConfig } from '../utils/configManager.js';
3
3
 
4
+ const aexTheme = chalk.hex('#74ffd8');
5
+
4
6
  export const configCommand = (options) => {
5
7
  if (options.setKey) {
6
8
  // Automatically strip accidental quotes just in case
7
9
  const cleanKey = options.setKey.replace(/^['"]|['"]$/g, '');
8
10
  saveConfig({ OPENROUTER_API_KEY: cleanKey });
9
- console.log(chalk.green(' OpenRouter API Key configured successfully.'));
11
+ console.log(aexTheme(' OpenRouter API Key configured successfully.'));
10
12
  }
11
13
 
12
14
  if (options.setModel) {
13
15
  const cleanModel = options.setModel.replace(/^['"]|['"]$/g, '');
14
16
  saveConfig({ OPENROUTER_DEFAULT_MODEL: cleanModel });
15
- console.log(chalk.green(`✔ Default Model set to ${cleanModel}.`));
17
+ console.log(aexTheme(`■ Default Model set to ${cleanModel}.`));
16
18
  }
17
19
 
18
20
  if (!options.setKey && !options.setModel) {
package/src/index.js CHANGED
@@ -21,21 +21,23 @@ const packageJson = JSON.parse(
21
21
 
22
22
  const program = new Command();
23
23
 
24
+ const aexTheme = chalk.hex('#74ffd8');
25
+
24
26
  const bannerText = figlet.textSync('AEX Code', { font: 'ANSI Shadow', horizontalLayout: 'fitted' });
25
- const coloredBanner = chalk.greenBright(bannerText);
26
- const rawTagline = ' NEXT-GEN OPENROUTER CODING AGENT - POWERED BY AI EXTENSION ';
27
+ const coloredBanner = aexTheme(bannerText);
28
+ const rawTagline = ' POWERED BY AI EXTENSION - NEXT-GEN CODING AGENT ';
27
29
 
28
- const finalBanner = boxen(`${coloredBanner}\n\n${chalk.bgGreen.black.bold(rawTagline)}`, {
30
+ const finalBanner = boxen(`${coloredBanner}\n\n${chalk.bgHex('#74ffd8').black.bold(rawTagline)}`, {
29
31
  padding: 1,
30
32
  margin: 1,
31
33
  borderStyle: 'bold',
32
- borderColor: 'green',
34
+ borderColor: '#74ffd8',
33
35
  textAlignment: 'center',
34
36
  });
35
37
 
36
38
  program
37
39
  .name('aex-code')
38
- .description(finalBanner)
40
+ .description(`${finalBanner}\n${chalk.dim('A powerful CLI agent optimized for OpenRouter free-tier LLMs.')}`)
39
41
  .version(packageJson.version);
40
42
 
41
43
  program