Skip to content

Commit 36d9e6d

Browse files
committed
Last Sync: 2026-01-26 18:20 (Mobile)
1 parent 02baf61 commit 36d9e6d

2 files changed

Lines changed: 68 additions & 18 deletions

File tree

.github/workflows/android.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Checkout Code
13-
uses: actions/checkout@v3
13+
uses: actions/checkout@v4
1414

1515
- name: Setup Node.js
16-
uses: actions/setup-node@v3
16+
uses: actions/setup-node@v4
1717
with:
18-
node-version: 18
18+
node-version: 20
1919

2020
- name: Setup Java
21-
uses: actions/setup-java@v3
21+
uses: actions/setup-java@v4
2222
with:
2323
distribution: 'zulu'
2424
java-version: '17'
@@ -39,7 +39,7 @@ jobs:
3939
run: ./gradlew assembleDebug
4040

4141
- name: Upload APK
42-
uses: actions/upload-artifact@v3
42+
uses: actions/upload-artifact@v4
4343
with:
4444
name: paperknife-debug
4545
path: android/app/build/outputs/apk/debug/app-debug.apk

README.md

Lines changed: 63 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,70 @@
1-
<div align="center">
2-
<img width="1200" height="475" alt="GHBanner" src="https://github.com/user-attachments/assets/0aa67016-6eaf-458a-adb2-6e31a0763ed6" />
3-
</div>
1+
# PaperKnife 🇨🇭
42

5-
# Run and deploy your AI Studio app
3+
> "Code by intuition. Design by logic."
64
7-
This contains everything you need to run your app locally.
5+
**PaperKnife** is a privacy-first, offline Swiss Army Knife for PDF operations. It operates entirely within your browser (or on your device via Android APK), ensuring your documents never leave your possession.
86

9-
View your app in AI Studio: https://ai.studio/apps/drive/1O4JnZamNVOPpCRc1ZkekRh5qheb0Dg3m
7+
## 🎨 The Aesthetic (Swiss Style)
108

11-
## Run Locally
9+
- **Layout:** Bento Grid (Functional, modular boxes).
10+
- **Typography:** Inter (Clean, grotesque sans-serif).
11+
- **Palette:** High-contrast Black & White with **Swiss Red** accents for action.
12+
- **Vibe:** Precision tool. No soft shadows. No fluff.
1213

13-
**Prerequisites:** Node.js
14+
## 🛠 The Tech Stack
1415

16+
- **Core:** React 18 + TypeScript
17+
- **Build Tool:** Vite
18+
- **Styling:** Tailwind CSS (Utility-first)
19+
- **Engine:** `pdf-lib` (Client-side PDF manipulation)
20+
- **Mobile Bridge:** Capacitor (Converts React to Android)
1521

16-
1. Install dependencies:
17-
`npm install`
18-
2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key
19-
3. Run the app:
20-
`npm run dev`
22+
## 🤖 The Factory (Automated Builds)
23+
24+
This project uses **GitHub Actions** to automatically build an Android APK whenever you push to the `main` branch.
25+
26+
1. **Push Code:** Commit changes to `main`.
27+
2. **Robot Wakes Up:** The workflow in `.github/workflows/android.yml` triggers.
28+
3. **Build:** It installs Node, Java, builds the React app, and runs the Gradle build.
29+
4. **Deliver:** The resulting `.apk` file is uploaded as an artifact named `paperknife-debug`.
30+
31+
### Download the APK
32+
1. Go to the **Actions** tab in this repository.
33+
2. Click on the latest workflow run.
34+
3. Scroll down to **Artifacts** and download `paperknife-debug`.
35+
36+
## 💻 Local Development
37+
38+
If you want to run this locally:
39+
40+
```bash
41+
# 1. Install dependencies
42+
npm install
43+
44+
# 2. Run the web dev server
45+
npm run dev
46+
47+
# 3. Build for production
48+
npm run build
49+
```
50+
51+
## 📱 Mobile Development (Android)
52+
53+
To run on an Android emulator or device locally:
54+
55+
```bash
56+
# 1. Build the web assets
57+
npm run build
58+
59+
# 2. Add Android platform (first time only)
60+
npx cap add android
61+
62+
# 3. Sync web code to Android
63+
npx cap sync
64+
65+
# 4. Open Android Studio
66+
npx cap open android
67+
```
68+
69+
---
70+
*Built by Potatameister - The Vibecoder*

0 commit comments

Comments
 (0)