ai-first-cli 1.2.2 → 1.2.3

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.
@@ -1,20 +1,21 @@
1
1
  # Technology Stack
2
2
 
3
- **Languages**: JSON, Markdown, TypeScript, CSS, Python, JavaScript, PHP, Ruby, TypeScript (React), Java
3
+ **Languages**: Markdown, JSON, YAML, TypeScript, CSS, Ruby, Python, JavaScript, PHP, TypeScript (React), Java
4
4
 
5
5
  **Frameworks**: Vue.js, Nuxt.js, TypeScript
6
6
 
7
7
  **Package Managers**: npm, Composer
8
8
 
9
9
  ## Languages
10
- - JSON
11
10
  - Markdown
11
+ - JSON
12
+ - YAML
12
13
  - TypeScript
13
14
  - CSS
15
+ - Ruby
14
16
  - Python
15
17
  - JavaScript
16
18
  - PHP
17
- - Ruby
18
19
  - TypeScript (React)
19
20
  - Java
20
21
 
File without changes
@@ -43,7 +43,7 @@ export interface LayerRule {
43
43
  patterns: string[];
44
44
  }
45
45
  /**
46
- * Default adapter configuration
46
+ * Default adapter configuration - works for ANY project type
47
47
  */
48
48
  export declare const DEFAULT_ADAPTER: AnalysisAdapter;
49
49
  //# sourceMappingURL=baseAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseAdapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/baseAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,uEAAuE;IACvE,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAEpC,4CAA4C;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,gDAAgD;IAChD,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,mDAAmD;IACnD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B,2CAA2C;IAC3C,UAAU,EAAE,SAAS,EAAE,CAAC;IAExB,4CAA4C;IAC5C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B,oCAAoC;IACpC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IAEjC,qCAAqC;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAEvC,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAEhB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,eAiB7B,CAAC"}
1
+ {"version":3,"file":"baseAdapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/baseAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,uEAAuE;IACvE,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAEpC,4CAA4C;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,gDAAgD;IAChD,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,mDAAmD;IACnD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B,2CAA2C;IAC3C,UAAU,EAAE,SAAS,EAAE,CAAC;IAExB,4CAA4C;IAC5C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B,oCAAoC;IACpC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IAEjC,qCAAqC;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAEvC,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAEhB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAmDD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,eAiB7B,CAAC"}
@@ -5,24 +5,62 @@
5
5
  * that customize feature and flow detection.
6
6
  */
7
7
  /**
8
- * Default adapter configuration
8
+ * Universal entrypoint patterns - work across ALL languages and frameworks
9
+ */
10
+ const UNIVERSAL_ENTRYPOINTS = [
11
+ // CLI/Tool entrypoints
12
+ 'main', 'cli', 'cmd', 'command', 'run', 'exec', 'task', 'runner',
13
+ // App/Plugin/Extension entrypoints
14
+ 'app', 'plugin', 'extension', 'entrypoint', 'bootstrap', 'setup',
15
+ 'initialize', 'init', 'start', 'launch',
16
+ // Module entrypoints
17
+ 'index', '__main__', 'main',
18
+ // API/Server entrypoints
19
+ 'api', 'server', 'router', 'gateway',
20
+ // Web framework entrypoints
21
+ 'controller', 'handler', 'endpoint', 'view', 'page', 'screen', 'component',
22
+ 'route', 'routes', 'resource',
23
+ // Business logic entrypoints
24
+ 'service', 'usecase', 'interactor', 'action', 'actor',
25
+ // Async/Distributed entrypoints
26
+ 'job', 'worker', 'consumer', 'producer', 'queue', 'cron', 'schedule',
27
+ // Framework-agnostic patterns
28
+ 'serializer', 'mutation', 'query', 'resolver',
29
+ 'management', 'admin',
30
+ // Mobile entrypoints
31
+ 'activity', 'fragment', 'viewcontroller',
32
+ // Database entrypoints
33
+ 'repository', 'dao', 'mapper',
34
+ ];
35
+ /**
36
+ * Universal feature roots - directories that typically contain business features
37
+ */
38
+ const UNIVERSAL_FEATURE_ROOTS = [
39
+ 'src', 'app', 'lib', 'source', 'sources', 'modules', 'features',
40
+ 'services', 'internal', 'core', 'domain', 'business',
41
+ 'packages', 'components', 'pages', 'screens', 'views',
42
+ 'handlers', 'controllers', 'routes', 'api', 'api/src',
43
+ 'cmd', 'commands', 'scripts',
44
+ ];
45
+ /**
46
+ * Default adapter configuration - works for ANY project type
9
47
  */
10
48
  export const DEFAULT_ADAPTER = {
11
49
  name: 'default',
12
50
  displayName: 'Default',
13
51
  detectionSignals: [],
14
- featureRoots: ['src', 'app', 'lib', 'modules'],
15
- ignoredFolders: ['utils', 'helpers', 'types', 'interfaces', 'constants', 'config', 'dto', 'models', 'common', 'shared', 'node_modules', '.git'],
16
- entrypointPatterns: ['controller', 'route', 'handler', 'command', 'service'],
52
+ featureRoots: UNIVERSAL_FEATURE_ROOTS,
53
+ ignoredFolders: ['utils', 'helpers', 'types', 'interfaces', 'constants', 'config', 'dto', 'models', 'common', 'shared', 'node_modules', '.git', 'dist', 'build', 'coverage', '__tests__', 'test', 'tests', '.next', '.nuxt', '.vite', '__pycache__', '.venv', 'venv', 'scripts', 'docs', 'migrations', 'spec', 'test'],
54
+ entrypointPatterns: UNIVERSAL_ENTRYPOINTS,
17
55
  layerRules: [
18
- { name: 'api', priority: 1, patterns: ['controller', 'handler', 'route', 'router', 'api', 'endpoint'] },
19
- { name: 'service', priority: 2, patterns: ['service', 'services', 'usecase', 'interactor'] },
20
- { name: 'data', priority: 3, patterns: ['repository', 'repo', 'dal', 'dao', 'data', 'persistence'] },
21
- { name: 'domain', priority: 4, patterns: ['model', 'entity', 'schema', 'domain'] },
22
- { name: 'util', priority: 5, patterns: ['util', 'helper', 'lib', 'common'] }
56
+ { name: 'api', priority: 1, patterns: ['controller', 'handler', 'route', 'router', 'api', 'endpoint', 'page', 'screen', 'view', 'component', 'gateway', 'resource'] },
57
+ { name: 'service', priority: 2, patterns: ['service', 'services', 'usecase', 'interactor', 'action', 'actor', 'mutation', 'query', 'resolver'] },
58
+ { name: 'data', priority: 3, patterns: ['repository', 'repo', 'dal', 'dao', 'data', 'persistence', 'mapper', 'dto'] },
59
+ { name: 'domain', priority: 4, patterns: ['model', 'entity', 'schema', 'domain', 'event'] },
60
+ { name: 'util', priority: 5, patterns: ['util', 'helper', 'lib', 'common', 'static', 'constants'] }
23
61
  ],
24
- supportedExtensions: ['.ts', '.tsx', '.js', '.jsx', '.py', '.java', '.kt', '.go', '.rs', '.rb', '.php', '.cs', '.vue', '.svelte'],
25
- flowEntrypointPatterns: ['controller', 'route', 'handler', 'command'],
26
- flowExcludePatterns: ['repository', 'repo', 'utils', 'helper', 'model', 'entity', 'dto', 'type', 'interface', 'constant', 'config']
62
+ supportedExtensions: ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs', '.py', '.java', '.kt', '.go', '.rs', '.rb', '.php', '.cs', '.vue', '.svelte', '.swift', '.h', '.m', '.fs', '.fsx', '.rake', '.erb', '.html', '.css', '.scss', '.sass', '.less'],
63
+ flowEntrypointPatterns: UNIVERSAL_ENTRYPOINTS,
64
+ flowExcludePatterns: ['repository', 'repo', 'utils', 'helper', 'model', 'entity', 'dto', 'type', 'interface', 'constant', 'config', 'spec', 'test', 'tests', '__init__', '__pycache__', 'migrations']
27
65
  };
28
66
  //# sourceMappingURL=baseAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseAdapter.js","sourceRoot":"","sources":["../../../src/core/adapters/baseAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwDH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,EAAE;IACpB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;IAC9C,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC;IAC/I,kBAAkB,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC5E,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE;QACvG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE;QAC5F,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE;QACpG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;QAClF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;KAC7E;IACD,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;IACjI,sBAAsB,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;IACrE,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC;CACpI,CAAC"}
1
+ {"version":3,"file":"baseAdapter.js","sourceRoot":"","sources":["../../../src/core/adapters/baseAdapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"semanticContexts.d.ts","sourceRoot":"","sources":["../../src/core/semanticContexts.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AA6OD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,EAAE,CAyCX;AAiMD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,GACxB,IAAI,EAAE,CAuDR;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CA6BxE"}
1
+ {"version":3,"file":"semanticContexts.d.ts","sourceRoot":"","sources":["../../src/core/semanticContexts.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AA+LD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,EAAE,CA4CX;AAiMD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,GACxB,IAAI,EAAE,CAuDR;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CA6BxE"}
@@ -1,68 +1,27 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import { ensureDir, writeFile, readJsonFile } from "../utils/fileUtils.js";
4
- // ============================================================
5
- // CONFIGURATION - Feature Detection Rules
6
- // ============================================================
7
- // 1. Candidate roots - scan inside these directories
8
- const CANDIDATE_ROOTS = [
9
- "src", "app", "packages", "services", "modules", "features",
10
- // MVC patterns - for projects without src/ prefix
11
- "controllers", "routes", "handlers", "views", "pages"
12
- ];
13
- // 2. Ignore folders - these are technical, not business features
14
- const IGNORED_FOLDERS = new Set([
15
- "utils",
16
- "helpers",
17
- "types",
18
- "interfaces",
19
- "constants",
20
- "config",
21
- "dto",
22
- "common",
23
- "shared"
24
- ]);
25
- // 3. Entrypoint patterns - files that indicate a business feature
26
- const ENTRYPOINT_PATTERNS = [
27
- "controller",
28
- "route",
29
- "handler",
30
- "command",
31
- "service"
32
- ];
33
- // 4. Flow-specific patterns
34
- const FLOW_ENTRY_PATTERNS = [
35
- "controller", "route", "handler", "command",
36
- // Frontend patterns
37
- "page", "screen", "view", "component"
38
- ];
39
- // 5. Flow exclusion patterns
40
- const FLOW_EXCLUDE = new Set([
41
- "repository", "repo", "utils", "helper", "model", "entity",
42
- "dto", "type", "interface", "constant", "config"
43
- ]);
44
- // 6. Layer detection
45
- const LAYER_PATTERNS = {
46
- api: ["controller", "handler", "route", "router", "api", "endpoint"],
47
- service: ["service", "services", "usecase", "interactor"],
48
- data: ["repository", "repo", "dal", "dao", "data", "persistence"],
49
- domain: ["model", "entity", "schema", "domain"],
50
- util: ["util", "helper", "lib", "common"]
51
- };
52
- const LAYER_PRIORITY = {
53
- api: 1, controller: 1, handler: 1, route: 1, router: 1,
54
- service: 2, usecase: 2, interactor: 2,
55
- data: 3, repository: 3, repo: 3, dal: 3, dao: 3, persistence: 3,
56
- model: 4, entity: 4, domain: 4,
57
- };
4
+ import { DEFAULT_ADAPTER } from "./adapters/baseAdapter.js";
5
+ // Use DEFAULT_ADAPTER which has universal patterns for ALL languages/frameworks
6
+ const ADAPTER = DEFAULT_ADAPTER;
7
+ const CANDIDATE_ROOTS = ADAPTER.featureRoots;
8
+ const IGNORED_FOLDERS = new Set(ADAPTER.ignoredFolders);
9
+ const ENTRYPOINT_PATTERNS = ADAPTER.entrypointPatterns;
10
+ const FLOW_ENTRY_PATTERNS = ADAPTER.flowEntrypointPatterns;
11
+ const FLOW_EXCLUDE = new Set(ADAPTER.flowExcludePatterns);
12
+ const LAYER_PATTERNS = {};
13
+ for (const layer of ADAPTER.layerRules) {
14
+ LAYER_PATTERNS[layer.name] = layer.patterns;
15
+ }
16
+ const LAYER_PRIORITY = {};
17
+ for (const layer of ADAPTER.layerRules) {
18
+ for (const pattern of layer.patterns) {
19
+ LAYER_PRIORITY[pattern] = layer.priority;
20
+ }
21
+ }
58
22
  const MAX_FLOW_DEPTH = 5;
59
23
  const MAX_FLOW_FILES = 30;
60
- // Supported source file extensions
61
- const SOURCE_EXTENSIONS = new Set([
62
- ".ts", ".tsx", ".js", ".jsx", ".py", ".java", ".kt", ".go", ".rs", ".rb", ".php", ".cs", ".vue", ".svelte",
63
- // Salesforce/Apex
64
- ".cls", ".trigger", ".apex", ".object"
65
- ]);
24
+ const SOURCE_EXTENSIONS = new Set(ADAPTER.supportedExtensions);
66
25
  // ============================================================
67
26
  // HELPER FUNCTIONS
68
27
  // ============================================================
@@ -231,6 +190,9 @@ export function generateFeatures(modulesJsonPath, _symbolsJsonPath) {
231
190
  continue;
232
191
  // Extract feature name from path - get the last segment
233
192
  const featureName = mod.path.split("/").pop() || moduleName;
193
+ // Skip ignored folders (utils, helpers, types, etc.)
194
+ if (isIgnoredFolder(featureName))
195
+ continue;
234
196
  features.push({
235
197
  name: featureName,
236
198
  path: mod.path,
@@ -1 +1 @@
1
- {"version":3,"file":"semanticContexts.js","sourceRoot":"","sources":["../../src/core/semanticContexts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semanticContexts.js","sourceRoot":"","sources":["../../src/core/semanticContexts.ts"],"names":[],"mappings":"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"}
package/install.sh CHANGED
@@ -1,21 +1,91 @@
1
1
  #!/usr/bin/env bash
2
- # af (AI-First) Installer - curl -fsSL https://raw.githubusercontent.com/julianperezpesce/ai-first/master/install.sh | bash
2
+ # af (AI-First) Installer
3
+ # Usage: curl -fsSL https://raw.githubusercontent.com/julianperezpesce/ai-first/master/install.sh | bash
3
4
  set -e
4
5
 
5
- AF_VERSION="${AF_VERSION:-1.2.1}"
6
+ AF_VERSION="${AF_VERSION:-1.2.2}"
6
7
 
7
8
  RED='\033[0;31m'
8
9
  GREEN='\033[0;32m'
9
10
  YELLOW='\033[1;33m'
11
+ BLUE='\033[0;34m'
10
12
  NC='\033[0m'
11
13
 
12
14
  log_info() { echo -e "${GREEN}✓${NC} $1"; }
13
15
  log_warn() { echo -e "${YELLOW}⚠${NC} $1"; }
14
16
  log_error() { echo -e "${RED}✗${NC} $1"; }
17
+ log_step() { echo -e "${BLUE}→${NC} $1"; }
18
+
19
+ # Detect npm's global bin directory
20
+ get_npm_global_bin() {
21
+ npm config get prefix --global 2>/dev/null
22
+ }
23
+
24
+ # Try to create symlink in a PATH directory
25
+ setup_symlink() {
26
+ local src="$1"
27
+ local name="af"
28
+
29
+ # Try /usr/local/bin first (standard)
30
+ if [ -w /usr/local/bin ] 2>/dev/null; then
31
+ ln -sf "$src" /usr/local/bin/$name
32
+ echo "/usr/local/bin/$name"
33
+ return 0
34
+ fi
35
+
36
+ # Try ~/.local/bin (Freedesktop standard)
37
+ if [ -w "$HOME/.local/bin" ] 2>/dev/null || mkdir -p "$HOME/.local/bin" 2>/dev/null; then
38
+ ln -sf "$src" "$HOME/.local/bin/$name"
39
+ echo "$HOME/.local/bin/$name"
40
+ return 0
41
+ fi
42
+
43
+ # Try ~/bin (legacy)
44
+ if [ -w "$HOME/bin" ] 2>/dev/null || mkdir -p "$HOME/bin" 2>/dev/null; then
45
+ ln -sf "$src" "$HOME/bin/$name"
46
+ echo "$HOME/bin/$name"
47
+ return 0
48
+ fi
49
+
50
+ return 1
51
+ }
52
+
53
+ # Add directory to PATH in shell RC if not already present
54
+ ensure_path() {
55
+ local dir="$1"
56
+ local rcfile=""
57
+
58
+ # Find the active shell RC file
59
+ if [ -n "$ZSH_VERSION" ]; then
60
+ rcfile="$HOME/.zshrc"
61
+ elif [ -n "$BASH_VERSION" ]; then
62
+ rcfile="$HOME/.bashrc"
63
+ else
64
+ rcfile="$HOME/.profile"
65
+ fi
66
+
67
+ # Check if dir is already in PATH
68
+ if echo "$PATH" | tr ':' '\n' | grep -qx "$dir"; then
69
+ return 0
70
+ fi
71
+
72
+ # Check if already added in RC
73
+ if [ -f "$rcfile" ] && grep -q "$dir" "$rcfile" 2>/dev/null; then
74
+ return 0
75
+ fi
76
+
77
+ # Add to RC
78
+ echo "" >> "$rcfile"
79
+ echo "# Added by ai-first-cli installer" >> "$rcfile"
80
+ echo "export PATH=\"$dir:\$PATH\"" >> "$rcfile"
81
+
82
+ log_warn "Added $dir to PATH in $rcfile"
83
+ log_warn "Run: source $rcfile"
84
+ }
15
85
 
16
86
  check_node() {
17
87
  if ! command -v node &> /dev/null; then
18
- log_error "Node.js not installed. Install Node.js 18+ first."
88
+ log_error "Node.js not installed. Install Node.js 18+ first: https://nodejs.org"
19
89
  exit 1
20
90
  fi
21
91
  NODE_VERSION=$(node -v | cut -d'v' -f2 | cut -d'.' -f1)
@@ -27,24 +97,80 @@ check_node() {
27
97
  }
28
98
 
29
99
  install_af() {
30
- log_info "Installing af@${AF_VERSION}..."
31
- npm install -g "af@${AF_VERSION}"
32
- log_info "af installed successfully!"
100
+ log_step "Installing af@${AF_VERSION}..."
101
+ npm install -g "ai-first-cli@${AF_VERSION}" 2>&1
102
+ log_info "npm install completed"
103
+ }
104
+
105
+ find_af_binary() {
106
+ # Find the af binary in npm's global bin directory
107
+ local prefix
108
+ prefix=$(npm config get prefix --global 2>/dev/null || npm config get prefix 2>/dev/null)
109
+
110
+ if [ -n "$prefix" ] && [ -f "$prefix/bin/af" ]; then
111
+ echo "$prefix/bin/af"
112
+ return 0
113
+ fi
114
+
115
+ if [ -n "$prefix" ] && [ -f "$prefix/bin/ai-first" ]; then
116
+ echo "$prefix/bin/ai-first"
117
+ return 0
118
+ fi
119
+
120
+ # Try common locations
121
+ for dir in "$prefix/bin" "$HOME/.npm-global/bin" "/usr/local/bin" "$HOME/.local/bin" "$HOME/bin"; do
122
+ if [ -f "$dir/af" ]; then
123
+ echo "$dir/af"
124
+ return 0
125
+ fi
126
+ if [ -f "$dir/ai-first" ]; then
127
+ echo "$dir/ai-first"
128
+ return 0
129
+ fi
130
+ done
131
+
132
+ return 1
33
133
  }
34
134
 
35
135
  verify_install() {
36
- if command -v af &> /dev/null; then
37
- echo ""
38
- echo " af init Initialize AI context"
39
- echo " af index Generate SQLite index"
40
- echo " af doctor Check repository health"
41
- echo " af --help Show all commands"
42
- echo ""
43
- log_info "Installation complete!"
44
- else
45
- log_error "Installation failed - af not in PATH"
136
+ log_step "Verifying installation..."
137
+
138
+ local af_path
139
+ af_path=$(find_af_binary) || {
140
+ log_error "Could not find af binary after installation"
141
+ log_error "npm prefix: $(npm config get prefix 2>/dev/null)"
46
142
  exit 1
143
+ }
144
+
145
+ log_info "Found af at: $af_path"
146
+
147
+ # Try to create symlink in PATH
148
+ local symlink
149
+ if symlink=$(setup_symlink "$af_path"); then
150
+ log_info "Created symlink: $symlink"
151
+ else
152
+ log_warn "Could not create symlink in standard PATH location"
153
+ # Try adding the binary's directory to PATH
154
+ local bindir
155
+ bindir=$(dirname "$af_path")
156
+ ensure_path "$bindir"
47
157
  fi
158
+
159
+ echo ""
160
+ echo " ╔══════════════════════════════════════╗"
161
+ echo " ║ af installation complete! ║"
162
+ echo " ╚══════════════════════════════════════╝"
163
+ echo ""
164
+ echo " Commands:"
165
+ echo " af init Initialize AI context"
166
+ echo " af index Generate SQLite index"
167
+ echo " af doctor Check repository health"
168
+ echo " af --help Show all commands"
169
+ echo ""
170
+ echo " Quick start:"
171
+ echo " af init # Generate context files"
172
+ echo " af doctor # Check repository health"
173
+ echo ""
48
174
  }
49
175
 
50
176
  echo ""
@@ -54,7 +180,7 @@ echo " ███████║██║ ██║ ██║ ████
54
180
  echo " ██╔══██║██║ ██║ ██║ ██╔══╝ "
55
181
  echo " ██║ ██║╚██████╔╝ ██║ ███████╗"
56
182
  echo " ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚══════╝"
57
- echo " AI-First CLI Installer"
183
+ echo " AI-First CLI Installer v${AF_VERSION}"
58
184
  echo ""
59
185
 
60
186
  check_node
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-first-cli",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "description": "CLI tool that prepares any repository to be used effectively by AI coding agents",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -60,23 +60,72 @@ export interface LayerRule {
60
60
  }
61
61
 
62
62
  /**
63
- * Default adapter configuration
63
+ * Universal entrypoint patterns - work across ALL languages and frameworks
64
+ */
65
+ const UNIVERSAL_ENTRYPOINTS = [
66
+ // CLI/Tool entrypoints
67
+ 'main', 'cli', 'cmd', 'command', 'run', 'exec', 'task', 'runner',
68
+
69
+ // App/Plugin/Extension entrypoints
70
+ 'app', 'plugin', 'extension', 'entrypoint', 'bootstrap', 'setup',
71
+ 'initialize', 'init', 'start', 'launch',
72
+
73
+ // Module entrypoints
74
+ 'index', '__main__', 'main',
75
+
76
+ // API/Server entrypoints
77
+ 'api', 'server', 'router', 'gateway',
78
+
79
+ // Web framework entrypoints
80
+ 'controller', 'handler', 'endpoint', 'view', 'page', 'screen', 'component',
81
+ 'route', 'routes', 'resource',
82
+
83
+ // Business logic entrypoints
84
+ 'service', 'usecase', 'interactor', 'action', 'actor',
85
+
86
+ // Async/Distributed entrypoints
87
+ 'job', 'worker', 'consumer', 'producer', 'queue', 'cron', 'schedule',
88
+
89
+ // Framework-agnostic patterns
90
+ 'serializer', 'mutation', 'query', 'resolver',
91
+ 'management', 'admin',
92
+
93
+ // Mobile entrypoints
94
+ 'activity', 'fragment', 'viewcontroller',
95
+
96
+ // Database entrypoints
97
+ 'repository', 'dao', 'mapper',
98
+ ];
99
+
100
+ /**
101
+ * Universal feature roots - directories that typically contain business features
102
+ */
103
+ const UNIVERSAL_FEATURE_ROOTS = [
104
+ 'src', 'app', 'lib', 'source', 'sources', 'modules', 'features',
105
+ 'services', 'internal', 'core', 'domain', 'business',
106
+ 'packages', 'components', 'pages', 'screens', 'views',
107
+ 'handlers', 'controllers', 'routes', 'api', 'api/src',
108
+ 'cmd', 'commands', 'scripts',
109
+ ];
110
+
111
+ /**
112
+ * Default adapter configuration - works for ANY project type
64
113
  */
65
114
  export const DEFAULT_ADAPTER: AnalysisAdapter = {
66
115
  name: 'default',
67
116
  displayName: 'Default',
68
117
  detectionSignals: [],
69
- featureRoots: ['src', 'app', 'lib', 'modules'],
70
- ignoredFolders: ['utils', 'helpers', 'types', 'interfaces', 'constants', 'config', 'dto', 'models', 'common', 'shared', 'node_modules', '.git'],
71
- entrypointPatterns: ['controller', 'route', 'handler', 'command', 'service'],
118
+ featureRoots: UNIVERSAL_FEATURE_ROOTS,
119
+ ignoredFolders: ['utils', 'helpers', 'types', 'interfaces', 'constants', 'config', 'dto', 'models', 'common', 'shared', 'node_modules', '.git', 'dist', 'build', 'coverage', '__tests__', 'test', 'tests', '.next', '.nuxt', '.vite', '__pycache__', '.venv', 'venv', 'scripts', 'docs', 'migrations', 'spec', 'test'],
120
+ entrypointPatterns: UNIVERSAL_ENTRYPOINTS,
72
121
  layerRules: [
73
- { name: 'api', priority: 1, patterns: ['controller', 'handler', 'route', 'router', 'api', 'endpoint'] },
74
- { name: 'service', priority: 2, patterns: ['service', 'services', 'usecase', 'interactor'] },
75
- { name: 'data', priority: 3, patterns: ['repository', 'repo', 'dal', 'dao', 'data', 'persistence'] },
76
- { name: 'domain', priority: 4, patterns: ['model', 'entity', 'schema', 'domain'] },
77
- { name: 'util', priority: 5, patterns: ['util', 'helper', 'lib', 'common'] }
122
+ { name: 'api', priority: 1, patterns: ['controller', 'handler', 'route', 'router', 'api', 'endpoint', 'page', 'screen', 'view', 'component', 'gateway', 'resource'] },
123
+ { name: 'service', priority: 2, patterns: ['service', 'services', 'usecase', 'interactor', 'action', 'actor', 'mutation', 'query', 'resolver'] },
124
+ { name: 'data', priority: 3, patterns: ['repository', 'repo', 'dal', 'dao', 'data', 'persistence', 'mapper', 'dto'] },
125
+ { name: 'domain', priority: 4, patterns: ['model', 'entity', 'schema', 'domain', 'event'] },
126
+ { name: 'util', priority: 5, patterns: ['util', 'helper', 'lib', 'common', 'static', 'constants'] }
78
127
  ],
79
- supportedExtensions: ['.ts', '.tsx', '.js', '.jsx', '.py', '.java', '.kt', '.go', '.rs', '.rb', '.php', '.cs', '.vue', '.svelte'],
80
- flowEntrypointPatterns: ['controller', 'route', 'handler', 'command'],
81
- flowExcludePatterns: ['repository', 'repo', 'utils', 'helper', 'model', 'entity', 'dto', 'type', 'interface', 'constant', 'config']
128
+ supportedExtensions: ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs', '.py', '.java', '.kt', '.go', '.rs', '.rb', '.php', '.cs', '.vue', '.svelte', '.swift', '.h', '.m', '.fs', '.fsx', '.rake', '.erb', '.html', '.css', '.scss', '.sass', '.less'],
129
+ flowEntrypointPatterns: UNIVERSAL_ENTRYPOINTS,
130
+ flowExcludePatterns: ['repository', 'repo', 'utils', 'helper', 'model', 'entity', 'dto', 'type', 'interface', 'constant', 'config', 'spec', 'test', 'tests', '__init__', '__pycache__', 'migrations']
82
131
  };