🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

faf-cli

Package Overview
Dependencies
Maintainers
1
Versions
158
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

faf-cli - npm Package Compare versions

Comparing version
7.5.1
to
7.6.0
+38
dist/detect/ruby.d.ts
/**
* Ruby detection — CONTENT-AWARE Gemfile / gemspec classification.
*
* Kill line: Gemfile alone ≠ Rails.
* Bundler backs libraries, Rails apps, Sinatra/Roda/Grape/Hanami, CLIs, and MCP
* servers. We read gem names (+ light layout), then branch.
*
* Same composition as go.ts / jvm.ts: knowledge in ruby-detection.json.
*/
export type RubyAppType = 'mcp' | 'backend' | 'cli' | 'library';
export interface RubyProject {
appType: RubyAppType;
/** Primary framework label (Rails / Sinatra / …) or ''. */
framework: string;
/** package manager signal */
packageManager: 'bundler' | 'rubygems';
/** Glass Hood rationale for .faf `# found:`. */
found: string;
}
/** True if directory looks like a Ruby project root. */
export declare function isRubyRoot(dir: string): boolean;
/**
* Extract gem names from a Gemfile / gems.rb (static — does NOT execute Ruby).
* Handles: gem 'x', gem "x", gem :x (rare), gem "x", "1.0"
*/
export declare function parseGemfileGems(content: string): Set<string>;
/**
* Extract gem names from Gemfile.lock SPECS sections (static).
* Lines like " rails (7.1.0)" under GEM specs.
*/
export declare function parseGemfileLockGems(content: string): Set<string>;
/** Gem names from *.gemspec dependency lines (static). */
export declare function parseGemspecGems(content: string): Set<string>;
/**
* Classify a Ruby project from Gemfile / lock / gemspec (+ light layout).
* Returns null if not a Ruby root.
*/
export declare function detectRubyProject(dir: string): RubyProject | null;
+1
-1
{
"name": "faf-cli",
"version": "7.5.1",
"version": "7.6.0",
"description": "Persistent AI context + memory — .faf and .fafm, IANA-registered. Anthropic-merged.",

@@ -5,0 +5,0 @@ "type": "module",

@@ -133,9 +133,8 @@ <!-- faf: faf-cli | TypeScript | cli | CLI for the .faf and .fafm IANA-registered formats — AI context + memory that versions with your code -->

### What's New in v7.5.1 — The JVM Edition (patch)
### What's New in v7.6.0 — The Ruby Edition
**Content-aware JVM** — `pom` / `gradle` alone ≠ type. **Also:** bare build files ≠ Spring Boot on `tech_stack` (7.5.1 closes the stranger-smoke gap).
**Content-aware Ruby** — `Gemfile alone ≠ Rails`. Pure gems stay pure gems.
- **7.5.1** — Spring Boot only when the file *says* Boot (`spring-boot` / `springframework.boot` in body).
- **7.5.0** — plugins · parents · catalogs · multi-module: Spring · Quarkus · MCP · CLI · library · Android / KMP facets.
- **Still shipping** — C# (7.4.0) `.csproj alone ≠ type` · Go (7.3.0) `go.mod alone ≠ backend`.
- **Gems + layout** — Rails · Sinatra · Roda · Grape · Hanami · MCP · CLI · library (static parse — does not execute Gemfile).
- **Still shipping** — JVM (7.5.x) `pom`/`gradle` alone ≠ type · C# (7.4.0) `.csproj alone ≠ type` · Go (7.3.0) `go.mod alone ≠ backend`.

@@ -142,0 +141,0 @@ ### Dart/Flutter — knowledge v2 in 7.2.1

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet