@deimoscloud/coreai 0.1.17 → 0.1.19

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.
@@ -12,14 +12,6 @@ tools: Read, Write, Edit, Bash, Glob, Grep, mcp__github, mcp__atlassian
12
12
 
13
13
  ---
14
14
 
15
- ## Technical Stack
16
-
17
- - [Technology 1]
18
- - [Technology 2]
19
- - [Technology 3]
20
-
21
- ---
22
-
23
15
  ## Knowledge Library Structure
24
16
 
25
17
  You have access to shared and personal knowledge files:
@@ -10,9 +10,6 @@ tech_artifacts: "[API specs, Gradle configs, architecture diagrams]"
10
10
  ## Role
11
11
  Design and build native Android applications using Kotlin, Jetpack Compose, and modern architecture patterns. Focus on performant, user-friendly mobile experiences with robust testing and security.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and implement native Android applications
18
15
  - Build responsive UIs using Jetpack Compose and XML layouts
@@ -10,9 +10,6 @@ tech_artifacts: "[API specs, schemas, migration scripts]"
10
10
  ## Role
11
11
  Build and maintain APIs, database schemas, and server-side infrastructure. Focus on robust, scalable, and maintainable backend systems.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and implement RESTful APIs and GraphQL endpoints
18
15
  - Architect database schemas and optimize queries
@@ -10,9 +10,6 @@ tech_artifacts: "[schemas, migration scripts, query plans, ERDs]"
10
10
  ## Role
11
11
  Design, optimize, and operate database systems. Focus on ensuring data integrity, performance, availability, and security across relational and NoSQL database platforms.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and implement database schemas and data models
18
15
  - Optimize query performance and indexing strategies
@@ -10,9 +10,6 @@ tech_artifacts: "[Infrastructure configs, runbooks, deployment docs]"
10
10
  ## Role
11
11
  Design, build, and maintain CI/CD pipelines, infrastructure as code, and cloud resources. Ensure reliable deployments, system observability, and operational excellence across all environments.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and maintain CI/CD pipelines
18
15
  - Implement infrastructure as code (Terraform, Pulumi, CloudFormation, etc.)
@@ -9,9 +9,6 @@ tools: Read, Write, Edit, Bash, Glob, Grep
9
9
  ## Role
10
10
  Coordinate the engineering team, breaking down requirements into tasks, delegating to specialists, and ensuring alignment between product and engineering. You do NOT write code. You plan, delegate, track, and unblock.
11
11
 
12
- ## Technical Stack
13
- ${config.tech_stack}
14
-
15
12
  ---
16
13
 
17
14
  ## CRITICAL: FORBIDDEN ACTIONS
@@ -10,9 +10,6 @@ tech_artifacts: "[Component specs, style guides, design tokens]"
10
10
  ## Role
11
11
  Build and maintain responsive, accessible web interfaces with modern JavaScript frameworks. Focus on performant, user-friendly experiences and robust component architectures.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Build responsive and accessible user interfaces
18
15
  - Implement component libraries and design systems
@@ -9,9 +9,6 @@ tools: Read, Write, Edit, Bash, Glob, Grep
9
9
  ## Role
10
10
  Define product vision, strategy, and requirements. Bridge business objectives with technical execution by prioritizing features, writing specifications, and ensuring product-market fit. You do NOT write code. You define what to build, why, and in what order.
11
11
 
12
- ## Technical Stack
13
- ${config.tech_stack}
14
-
15
12
  ## Responsibilities
16
13
  - Define product vision, strategy, and roadmap
17
14
  - Write detailed product requirements and user stories
@@ -10,9 +10,6 @@ tech_artifacts: "[Component specs, API integration docs, design system tokens]"
10
10
  ## Role
11
11
  Design and build modern web applications using React, TypeScript, and the React ecosystem. Focus on performant, accessible, and maintainable user interfaces with robust component architectures and state management.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and implement React components and applications
18
15
  - Build reusable component libraries and design systems
@@ -10,9 +10,6 @@ tech_artifacts: "[Native module docs, platform configs, release notes]"
10
10
  ## Role
11
11
  Design and build cross-platform mobile applications using React Native and TypeScript. Focus on performant iOS and Android experiences with a shared codebase, native module integration, and platform-specific adaptations where needed.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and implement cross-platform mobile applications
18
15
  - Build reusable components with platform-specific adaptations
@@ -10,9 +10,6 @@ tech_artifacts: "[Threat models, security assessments, vulnerability reports, po
10
10
  ## Role
11
11
  Conduct secure code reviews, perform security assessments, and ensure software is built with security as a core principle. Review PRs for security vulnerabilities, authentication/authorization correctness, and compliance with security standards.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Conduct secure code reviews and threat modeling
18
15
  - Perform security assessments and penetration testing
@@ -9,9 +9,6 @@ tools: Read, Write, Edit, Bash, Glob, Grep
9
9
  ## Role
10
10
  Design high-level system architecture, make technology decisions, and ensure technical solutions align with business goals. Review PRs for architectural compliance and create Architecture Decision Records (ADRs). You operate across both implementation (ticket-based) and review workflows.
11
11
 
12
- ## Technical Stack
13
- ${config.tech_stack}
14
-
15
12
  ## Responsibilities
16
13
  - Design high-level system architecture and technical solutions
17
14
  - Evaluate and recommend technology stacks and frameworks
@@ -10,9 +10,6 @@ tech_artifacts: "[architecture diagrams, runbooks, IaC configs]"
10
10
  ## Role
11
11
  Design and operate resilient, scalable infrastructure on Huawei Cloud. Focus on high availability, operational excellence, and cost-effective cloud architecture using Huawei Cloud services.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and implement Huawei Cloud infrastructure architecture
18
15
  - Configure and manage ECS, CCE, OBS, RDS, and other Huawei services
@@ -10,9 +10,6 @@ tech_artifacts: "[Terraform modules, IaC templates, policy files]"
10
10
  ## Role
11
11
  Automate infrastructure provisioning and maintain reproducible environments. Focus on Infrastructure as Code solutions, GitOps workflows, and reusable infrastructure patterns across cloud platforms.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and implement infrastructure as code solutions
18
15
  - Develop and maintain Terraform modules and configurations
@@ -10,9 +10,6 @@ tech_artifacts: "[Helm charts, manifests, cluster configs, runbooks]"
10
10
  ## Role
11
11
  Design, deploy, and operate production-grade Kubernetes clusters. Focus on container orchestration, GitOps workflows, service mesh, and ensuring scalability, security, and operational excellence.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and manage Kubernetes cluster architecture
18
15
  - Deploy and configure workloads, services, and ingress
@@ -10,9 +10,6 @@ tech_artifacts: "[network diagrams, CIDR plans, firewall rules, runbooks]"
10
10
  ## Role
11
11
  Design and operate secure, high-performance network infrastructure. Focus on network architecture, connectivity, DNS, load balancing, VPN, firewall management, and reliable communication across distributed systems.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and implement cloud network architectures
18
15
  - Configure VPCs, subnets, and network segmentation
@@ -10,9 +10,6 @@ tech_artifacts: "[Sensor specs, watch face configs, tile layouts]"
10
10
  ## Role
11
11
  Design and build Wear OS smartwatch applications with optimized, battery-efficient experiences. Focus on glanceable interfaces, sensor integration, and seamless phone-watch communication.
12
12
 
13
- ## Technical Stack
14
- ${config.tech_stack}
15
-
16
13
  ## Responsibilities
17
14
  - Design and implement Wear OS applications
18
15
  - Build watch faces and complications
package/dist/cli/index.js CHANGED
@@ -30,9 +30,6 @@ var ConfigError = class extends Error {
30
30
  }
31
31
  };
32
32
  var DEFAULT_AGENTS = [
33
- "backend-engineer",
34
- "frontend-engineer",
35
- "devops-engineer",
36
33
  "engineering-manager"
37
34
  ];
38
35
  function findConfigFile(startDir = process.cwd()) {
@@ -92,13 +89,16 @@ function validateConfig(config) {
92
89
  return config;
93
90
  }
94
91
  function applyDefaults(config) {
92
+ const project = {
93
+ name: config.project?.name ?? "unnamed",
94
+ root: config.project?.root ?? process.cwd()
95
+ };
96
+ if (config.project?.description) {
97
+ project.description = config.project.description;
98
+ }
95
99
  return {
96
100
  ...config,
97
- project: {
98
- name: config.project?.name ?? "unnamed",
99
- type: config.project?.type ?? "software",
100
- root: config.project?.root ?? process.cwd()
101
- },
101
+ project,
102
102
  team: {
103
103
  agents: config.team?.agents ?? DEFAULT_AGENTS
104
104
  }
@@ -2028,9 +2028,6 @@ function extractVariables2(config) {
2028
2028
  }
2029
2029
  vars.PROJECT_NAME = config.project.name;
2030
2030
  vars.PROJECT_ROOT = config.project.root;
2031
- if (config.project.type) {
2032
- vars.PROJECT_TYPE = config.project.type;
2033
- }
2034
2031
  if (config.integrations?.issue_tracker) {
2035
2032
  const tracker = config.integrations.issue_tracker;
2036
2033
  if (tracker.config?.project_key) {
@@ -2080,9 +2077,6 @@ function extractVariables2(config) {
2080
2077
  }
2081
2078
  }
2082
2079
  }
2083
- if (config.tech_stack?.primary_language) {
2084
- vars.PRIMARY_LANGUAGE = config.tech_stack.primary_language;
2085
- }
2086
2080
  return vars;
2087
2081
  }
2088
2082
  function substituteVariables(content, variables) {
@@ -3001,52 +2995,107 @@ function detectProjectName(projectRoot) {
3001
2995
  }
3002
2996
  return basename3(projectRoot);
3003
2997
  }
2998
+ function detectQualityGates(projectRoot) {
2999
+ const gates = {};
3000
+ const packageJsonPath = join11(projectRoot, "package.json");
3001
+ if (existsSync7(packageJsonPath)) {
3002
+ try {
3003
+ const pkg = JSON.parse(readFileSync8(packageJsonPath, "utf-8"));
3004
+ if (pkg.scripts?.lint) {
3005
+ gates.lint = "npm run lint";
3006
+ }
3007
+ if (pkg.scripts?.test) {
3008
+ gates.test = "npm test";
3009
+ }
3010
+ } catch {
3011
+ }
3012
+ }
3013
+ return gates;
3014
+ }
3004
3015
  function generateConfigYaml(options) {
3005
- let yaml = `# CoreAI Configuration
3006
- # See https://coreai.dev/docs/config for full schema
3007
-
3008
- version: "1.0"
3009
-
3010
- project:
3011
- name: "${options.name}"
3012
- type: ${options.type}
3013
-
3014
- team:
3015
- agents:
3016
- - backend-engineer
3017
- - frontend-engineer
3018
- - devops-engineer
3019
- - engineering-manager
3020
- `;
3016
+ const lines = [
3017
+ "# CoreAI Configuration",
3018
+ "# See https://coreai.dev/docs/config for full schema",
3019
+ "",
3020
+ 'version: "1.0"',
3021
+ "",
3022
+ "project:",
3023
+ ` name: "${options.name}"`,
3024
+ ' # description: "Brief description of your project"',
3025
+ "",
3026
+ "# Agents to compile. Add more with: coreai agents add <name>",
3027
+ "# See available agents with: coreai agents list",
3028
+ "team:",
3029
+ " agents:",
3030
+ " - engineering-manager",
3031
+ ""
3032
+ ];
3033
+ const gates = options.qualityGates;
3034
+ if (gates?.lint || gates?.test) {
3035
+ lines.push("# Commands agents must run before finishing work.");
3036
+ lines.push("quality_gates:");
3037
+ if (gates.lint) {
3038
+ lines.push(" lint:");
3039
+ lines.push(` command: ${gates.lint}`);
3040
+ lines.push(" required: true");
3041
+ }
3042
+ if (gates.test) {
3043
+ lines.push(" test:");
3044
+ lines.push(` command: ${gates.test}`);
3045
+ lines.push(" required: true");
3046
+ }
3047
+ lines.push(" # typecheck:");
3048
+ lines.push(" # command: npx tsc --noEmit");
3049
+ lines.push(" # required: true");
3050
+ } else {
3051
+ lines.push("# Commands agents must run before finishing work.");
3052
+ lines.push("# quality_gates:");
3053
+ lines.push("# lint:");
3054
+ lines.push("# command: npm run lint");
3055
+ lines.push("# required: true");
3056
+ lines.push("# test:");
3057
+ lines.push("# command: npm test");
3058
+ lines.push("# required: true");
3059
+ }
3060
+ lines.push("");
3021
3061
  if (options.gitInfo?.provider) {
3022
- yaml += `
3023
- integrations:
3024
- git:
3025
- provider: ${options.gitInfo.provider}
3026
- config:
3027
- owner: "${options.gitInfo.owner}"
3028
- repo: "${options.gitInfo.repo}"
3029
- `;
3030
- }
3031
- yaml += `
3032
- # quality_gates:
3033
- # lint:
3034
- # command: npm run lint
3035
- # required: true
3036
- # test:
3037
- # command: npm test
3038
- # required: true
3039
- # build:
3040
- # command: npm run build
3041
- # required: true
3042
-
3043
- # tech_stack:
3044
- # primary_language: typescript
3045
- # frameworks:
3046
- # - node.js
3047
- # - express
3048
- `;
3049
- return yaml;
3062
+ lines.push("integrations:");
3063
+ lines.push(" git:");
3064
+ lines.push(` provider: ${options.gitInfo.provider}`);
3065
+ lines.push(" config:");
3066
+ lines.push(` owner: "${options.gitInfo.owner}"`);
3067
+ lines.push(` repo: "${options.gitInfo.repo}"`);
3068
+ lines.push(" # issue_tracker:");
3069
+ lines.push("# provider: jira # jira | linear | github-issues | azure-devops");
3070
+ lines.push("# config:");
3071
+ lines.push('# project_key: "PROJ"');
3072
+ lines.push('# base_url: "https://your-instance.atlassian.net"');
3073
+ lines.push(" # documentation:");
3074
+ lines.push("# provider: confluence # confluence | notion | github-wiki | local");
3075
+ lines.push("# config:");
3076
+ lines.push('# base_url: "https://your-instance.atlassian.net/wiki"');
3077
+ lines.push('# space_key: "TEAM"');
3078
+ } else {
3079
+ lines.push("# External tool integrations");
3080
+ lines.push("# integrations:");
3081
+ lines.push("# git:");
3082
+ lines.push("# provider: github # github | gitlab | bitbucket | azure-devops");
3083
+ lines.push("# config:");
3084
+ lines.push('# owner: "your-org"');
3085
+ lines.push('# repo: "your-repo"');
3086
+ lines.push("# issue_tracker:");
3087
+ lines.push("# provider: jira # jira | linear | github-issues | azure-devops");
3088
+ lines.push("# config:");
3089
+ lines.push('# project_key: "PROJ"');
3090
+ lines.push('# base_url: "https://your-instance.atlassian.net"');
3091
+ lines.push("# documentation:");
3092
+ lines.push("# provider: confluence # confluence | notion | github-wiki | local");
3093
+ lines.push("# config:");
3094
+ lines.push('# base_url: "https://your-instance.atlassian.net/wiki"');
3095
+ lines.push('# space_key: "TEAM"');
3096
+ }
3097
+ lines.push("");
3098
+ return lines.join("\n");
3050
3099
  }
3051
3100
  function createDirectories(projectRoot) {
3052
3101
  const dirs = [
@@ -3073,8 +3122,8 @@ function init(options = {}) {
3073
3122
  }
3074
3123
  const gitInfo = detectGitInfo();
3075
3124
  const name = options.name ?? detectProjectName(projectRoot);
3076
- const type = options.type ?? "software";
3077
- const configContent = generateConfigYaml({ name, type, gitInfo });
3125
+ const qualityGates = detectQualityGates(projectRoot);
3126
+ const configContent = generateConfigYaml({ name, gitInfo, qualityGates });
3078
3127
  const configPath = join11(projectRoot, "coreai.config.yaml");
3079
3128
  try {
3080
3129
  writeFileSync4(configPath, configContent, "utf-8");
@@ -3126,8 +3175,8 @@ Detected ${result.gitInfo.provider} repository: ${result.gitInfo.owner}/${result
3126
3175
  }
3127
3176
  lines.push("\nNext steps:");
3128
3177
  lines.push(" 1. Edit coreai.config.yaml to configure your project");
3129
- lines.push(" 2. Run `coreai build` to compile agents");
3130
- lines.push(" 3. Run `coreai validate` to check your setup");
3178
+ lines.push(" 2. Add agents with `coreai agents add <name>`");
3179
+ lines.push(" 3. Run `coreai build` to compile agents");
3131
3180
  return lines.join("\n");
3132
3181
  }
3133
3182