Skip to content

Commit a1ac44e

Browse files
committed
0.1.0 Initial release of the AI Code Fusion application with the following features:
- Visual interface for selecting and analyzing source code directories - Custom file inclusion/exclusion patterns - Configurable token counting - Code content processing for AI systems - Multi-platform support (Windows, macOS, Linux) - Directory tree visualization - File analyzer with token estimation - Token counter with multiple models support
0 parents  commit a1ac44e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+5690
-0
lines changed

.eslintignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Ignore generated files
2+
src/renderer/index.js
3+
src/renderer/index.js.map
4+
src/renderer/output.css
5+
6+
# Dependencies
7+
node_modules/
8+
**/node_modules/
9+
10+
# Build directories
11+
build/
12+
dist/
13+
14+
# Scripts and configs
15+
scripts/

.eslintrc.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
module.exports = {
2+
root: true,
3+
env: {
4+
browser: true,
5+
node: true,
6+
es6: true,
7+
jest: true,
8+
},
9+
extends: ['eslint:recommended', 'plugin:react/recommended'],
10+
parserOptions: {
11+
ecmaVersion: 2020,
12+
sourceType: 'module',
13+
ecmaFeatures: {
14+
jsx: true,
15+
},
16+
},
17+
settings: {
18+
react: {
19+
version: 'detect',
20+
},
21+
},
22+
ignorePatterns: ['node_modules/**', 'dist/**', 'build/**', 'coverage/**', 'scripts/**'],
23+
rules: {
24+
'react/react-in-jsx-scope': 'off',
25+
'react/prop-types': 'warn',
26+
'no-unused-vars': 'warn',
27+
},
28+
};

.gitattributes

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Set default behavior to automatically normalize line endings
2+
* text=auto
3+
4+
# Shell scripts should use LF
5+
*.sh text eol=lf
6+
.husky/pre-commit text eol=lf
7+
8+
# Batch and PowerShell scripts should use CRLF
9+
*.bat text eol=crlf
10+
*.ps1 text eol=crlf
11+
12+
# Documentation and config
13+
*.md text
14+
*.json text
15+
*.yml text
16+
*.yaml text
17+
18+
# JavaScript and web files
19+
*.js text
20+
*.jsx text
21+
*.ts text
22+
*.tsx text
23+
*.css text
24+
*.html text
25+
26+
# Exclude binary files from line ending conversion
27+
*.png binary
28+
*.jpg binary
29+
*.jpeg binary
30+
*.gif binary
31+
*.ico binary
32+
*.ttf binary
33+
*.woff binary
34+
*.woff2 binary

.github/workflows/release.yml

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
name: Build and Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
packages: read
11+
12+
jobs:
13+
build-windows:
14+
runs-on: windows-latest
15+
steps:
16+
- name: Check out Git repository
17+
uses: actions/checkout@v4
18+
19+
- name: Install Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: 18
23+
24+
- name: Install dependencies
25+
run: npm install
26+
27+
- name: Prepare build
28+
run: node scripts/prepare-build.js windows
29+
30+
- name: Build CSS
31+
run: npm run build:css
32+
33+
- name: Build Webpack
34+
run: npm run build:webpack
35+
36+
- name: Build Windows Package
37+
run: npm run build:win -- --publish=never
38+
env:
39+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40+
41+
- name: Upload Windows Artifacts
42+
uses: actions/upload-artifact@v4
43+
with:
44+
name: windows-artifacts
45+
path: dist/*.exe
46+
retention-days: 5
47+
48+
build-linux:
49+
runs-on: ubuntu-latest
50+
steps:
51+
- name: Check out Git repository
52+
uses: actions/checkout@v4
53+
54+
- name: Install Node.js
55+
uses: actions/setup-node@v4
56+
with:
57+
node-version: 18
58+
59+
- name: Install dependencies
60+
run: npm install
61+
62+
- name: Install required system packages
63+
run: |
64+
sudo apt-get update
65+
sudo apt-get install -y libgtk-3-dev libnotify-dev libnss3 libxss1 libgbm-dev
66+
67+
# Skip prepare-build for Linux as it seems to be causing issues
68+
# Instead, directly modify package.json for Linux build
69+
70+
- name: Configure Linux Build
71+
run: |
72+
# Create a minimal electron-builder config for Linux
73+
node -e "
74+
const fs = require('fs');
75+
const path = require('path');
76+
const packageJsonPath = path.join(process.cwd(), 'package.json');
77+
const packageJson = require(packageJsonPath);
78+
79+
// Remove any existing Linux configuration
80+
if (packageJson.build && packageJson.build.linux) {
81+
delete packageJson.build.linux;
82+
}
83+
84+
// Set minimal Linux config without any icon reference
85+
if (!packageJson.build) packageJson.build = {};
86+
packageJson.build.linux = {
87+
target: ['AppImage'],
88+
category: 'Utility'
89+
};
90+
91+
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
92+
"
93+
94+
- name: Build CSS
95+
run: npm run build:css
96+
97+
- name: Build Webpack
98+
run: npm run build:webpack
99+
100+
- name: Build Linux AppImage
101+
run: npm run build -- --linux AppImage --publish=never
102+
env:
103+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
104+
105+
- name: Upload Linux Artifacts
106+
uses: actions/upload-artifact@v4
107+
with:
108+
name: linux-artifacts
109+
path: dist/*.AppImage
110+
retention-days: 5
111+
112+
build-macos:
113+
runs-on: macos-latest
114+
steps:
115+
- name: Check out Git repository
116+
uses: actions/checkout@v4
117+
118+
- name: Install Node.js
119+
uses: actions/setup-node@v4
120+
with:
121+
node-version: 18
122+
123+
- name: Install dependencies
124+
run: npm install
125+
126+
- name: Prepare build
127+
run: node scripts/prepare-build.js mac
128+
129+
- name: Build CSS
130+
run: npm run build:css
131+
132+
- name: Build Webpack
133+
run: npm run build:webpack
134+
135+
- name: Build macOS Universal Binary
136+
run: npm run build:mac-universal -- --publish=never
137+
env:
138+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
139+
140+
- name: Upload macOS Artifacts
141+
uses: actions/upload-artifact@v4
142+
with:
143+
name: macos-artifacts
144+
path: |
145+
dist/*.dmg
146+
dist/*.zip
147+
retention-days: 5
148+
149+
create-release:
150+
needs: [build-windows, build-linux, build-macos]
151+
runs-on: ubuntu-latest
152+
steps:
153+
- name: Check out Git repository
154+
uses: actions/checkout@v4
155+
with:
156+
fetch-depth: 0
157+
158+
- name: Get version from tag
159+
id: get_version
160+
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
161+
162+
- name: Get Changelog Entry
163+
id: changelog_reader
164+
uses: mindsers/changelog-reader-action@v2
165+
with:
166+
validation_level: warn
167+
path: ./CHANGELOG.md
168+
version: ${{ steps.get_version.outputs.VERSION }}
169+
continue-on-error: true
170+
171+
- name: Download Windows artifacts
172+
uses: actions/download-artifact@v4
173+
with:
174+
name: windows-artifacts
175+
path: artifacts
176+
177+
- name: Download Linux artifacts
178+
uses: actions/download-artifact@v4
179+
with:
180+
name: linux-artifacts
181+
path: artifacts
182+
183+
- name: Download macOS artifacts
184+
uses: actions/download-artifact@v4
185+
with:
186+
name: macos-artifacts
187+
path: artifacts
188+
189+
- name: Create Release
190+
uses: softprops/action-gh-release@v1
191+
with:
192+
name: Release ${{ steps.get_version.outputs.VERSION }}
193+
body: ${{ steps.changelog_reader.outputs.changes || 'No changelog provided' }}
194+
draft: true
195+
files: |
196+
artifacts/*
197+
env:
198+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Dependencies
2+
/node_modules
3+
/.pnp
4+
.pnp.js
5+
/.yarn
6+
7+
# Testing
8+
/coverage
9+
/.nyc_output
10+
11+
# Production
12+
/dist
13+
/out
14+
/bin
15+
/build
16+
17+
# Build outputs
18+
/src/renderer/index.js
19+
/src/renderer/index.js.map
20+
/src/renderer/output.css
21+
/.tmp*
22+
/temp
23+
24+
# Package files
25+
package-lock.json
26+
yarn.lock
27+
28+
# Logs
29+
logs
30+
*.log
31+
npm-debug.log*
32+
yarn-debug.log*
33+
yarn-error.log*
34+
lerna-debug.log*
35+
36+
# Editor directories and files
37+
.idea
38+
.vscode
39+
*.suo
40+
*.ntvs*
41+
*.njsproj
42+
*.sln
43+
*.sw?
44+
.project
45+
.classpath
46+
.settings/
47+
*.sublime-*
48+
49+
# Cache files
50+
.eslintcache
51+
.stylelintcache
52+
.parcel-cache
53+
.cache
54+
.npm
55+
.next
56+
57+
# OS files
58+
.DS_Store
59+
Thumbs.db
60+
ehthumbs.db
61+
Desktop.ini
62+
$RECYCLE.BIN/
63+
._*
64+
65+
# Environment variables and local config
66+
.env
67+
.env.local
68+
.env.*
69+
.scannerwork/
70+
71+
# Project-specific
72+
start/
73+
start/*
74+
/signed/

.husky/pre-commit

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
# Run lint-staged (works on both Windows with Git Bash and Linux)
5+
npx lint-staged

.husky/pre-commit.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@echo off
2+
npx lint-staged

.pre-commit-config.yaml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v4.5.0
4+
hooks:
5+
- id: trailing-whitespace
6+
- id: end-of-file-fixer
7+
- id: check-yaml
8+
- id: check-json
9+
- id: mixed-line-ending
10+
args: ['--fix=lf']
11+
description: Forces to replace line ending by the UNIX 'lf' character.
12+
13+
- repo: https://github.com/pre-commit/mirrors-eslint
14+
rev: v8.56.0
15+
hooks:
16+
- id: eslint
17+
files: \.(js|jsx)$
18+
types: [file]
19+
additional_dependencies:
20+
- eslint@8.56.0
21+
- eslint-plugin-react@7.33.2
22+
- eslint-plugin-react-hooks@4.6.0
23+
- eslint-plugin-tailwindcss@3.13.0
24+
- eslint-plugin-prettier@5.0.0
25+
- eslint-config-prettier@9.0.0
26+
- prettier@3.1.0
27+
28+
- repo: https://github.com/pre-commit/mirrors-prettier
29+
rev: v3.1.0
30+
hooks:
31+
- id: prettier
32+
types_or: [javascript, jsx, json, css, html]

0 commit comments

Comments
 (0)