Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -181,3 +181,4 @@ config.local.*
# Claude AI files
.claude
CLAUDE.md
dev-dist/
24 changes: 21 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,11 @@ DetectionForge is a specialized tool designed for security engineers and analyst

## Architecture

DetectionForge is built as a modern Vue.js Single Page Application (SPA) with:
DetectionForge is built as a modern Progressive Web Application (PWA) with:

- **Vue 3 + TypeScript**: Modern reactive framework with type safety
- **Vite**: Fast build tool and development server
- **PWA Support**: Installable as a standalone app with enhanced performance
- **Pinia**: State management for global application state
- **Vue Router**: Client-side routing for seamless navigation
- **CodeMirror 6**: Advanced code editor with YAML syntax highlighting, autocompletion, and smart editing
Expand All @@ -57,10 +58,11 @@ DetectionForge is a **production-ready** detection engineering platform with com

#### Platform Foundation

- **Progressive Web App (PWA)**: Install as a standalone application for enhanced performance and convenience
- **Modern Architecture**: Vue.js SPA with TypeScript, Vite, and Pinia state management
- **LimaCharlie Integration**: Full API client with authentication and multi-organization support
- **Configuration Management**: Complete backup/restore system with bulk organization import
- **Cross-Platform Compatibility**: Works across all modern browsers including Safari
- **Cross-Platform Compatibility**: Works across all modern browsers and operating systems

#### Rule Development & Management

Expand Down Expand Up @@ -126,10 +128,26 @@ DetectionForge is a **production-ready** detection engineering platform with com
2. Configure your LimaCharlie credentials and organizations
3. Start crafting and testing your detection rules

### Option 2: Run Locally\*\*
### Option 2: Run Locally

See the [Installation & Setup](#installation--setup) section below for detailed local development instructions.

### Option 3: Install as a Progressive Web App (PWA)

DetectionForge can be installed as a standalone application on your device for an enhanced experience:

**Benefits of PWA Installation:**
- **Native App Experience**: Runs in its own window without browser UI
- **Faster Loading**: Static assets cached for quicker startup
- **Persistent Sessions**: Credentials stay in memory longer for convenience
- **OS Integration**: Access from dock/taskbar, appears in app switchers
- **Auto Updates**: Seamlessly updates when new versions are deployed

**Installation Instructions:**
- **Chrome/Edge**: Click the install icon in the address bar or menu → "Install DetectionForge"
- **Safari (macOS/iOS)**: Share button → "Add to Home Screen"
- **Firefox**: Not supported, but the web version works perfectly

## Getting Started

### Prerequisites
Expand Down
8 changes: 7 additions & 1 deletion eslint.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,13 @@ export default [
// Global ignores
{
name: 'app/files-to-ignore',
ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**', '**/node_modules/**'],
ignores: [
'**/dist/**',
'**/dist-ssr/**',
'**/coverage/**',
'**/node_modules/**',
'**/dev-dist/**',
],
},

// Vue files
Expand Down
13 changes: 12 additions & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,23 @@
<head>
<meta charset="UTF-8" /> <link rel="icon" type="image/png" href="/favicon.png" />
<link rel="shortcut icon" type="image/png" href="/favicon.png" />
<link rel="apple-touch-icon" href="/favicon.png" />
<link rel="apple-touch-icon" href="/icon-192.png" />
<link rel="manifest" href="/manifest.json" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="DetectionForge - A comprehensive detection engineering environment for crafting, validating, and testing LimaCharlie detection rules" />
<meta name="keywords" content="LimaCharlie, detection rules, cybersecurity, detection engineering, SIEM, EDR" />
<meta name="author" content="Digital Defense Institute" />

<!-- PWA Meta Tags -->
<meta name="theme-color" content="#3b82f6" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="DetectionForge" />

<!-- iOS Icon -->
<link rel="apple-touch-icon" href="/detection_forge_blue.svg" />

<title>DetectionForge</title>

<!-- GitHub Pages SPA support -->
Expand Down
Loading