Skip to content

Commit 0081ff7

Browse files
committed
chore: open source simplenotes app
0 parents  commit 0081ff7

117 files changed

Lines changed: 23721 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Bug report
2+
description: Report a reproducible simplenotes bug.
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for reporting a bug. Please avoid attaching private notes, personal PDFs, or screenshots with sensitive information.
10+
- type: textarea
11+
id: summary
12+
attributes:
13+
label: What happened?
14+
description: Describe the bug and what you expected instead.
15+
validations:
16+
required: true
17+
- type: dropdown
18+
id: area
19+
attributes:
20+
label: Area
21+
options:
22+
- Library
23+
- Editor / ink
24+
- PDF import
25+
- PDF export
26+
- Text or image objects
27+
- Folders
28+
- Install or build
29+
- Other
30+
validations:
31+
required: true
32+
- type: textarea
33+
id: reproduce
34+
attributes:
35+
label: Steps to reproduce
36+
placeholder: |
37+
1. Open ...
38+
2. Tap ...
39+
3. See ...
40+
validations:
41+
required: true
42+
- type: input
43+
id: device
44+
attributes:
45+
label: Device and OS
46+
placeholder: iPad Pro 12.9, iPadOS 18.5 / Pixel 8, Android 15
47+
validations:
48+
required: true
49+
- type: textarea
50+
id: logs
51+
attributes:
52+
label: Logs or crash output
53+
description: Paste relevant logs if you have them. Remove personal paths or private file names if needed.
54+
render: shell
55+
- type: textarea
56+
id: extra
57+
attributes:
58+
label: Anything else?

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Security reports
4+
url: mailto:mark@builderproapps.com
5+
about: Please report security issues privately.
6+
- name: Mobile Ink engine
7+
url: https://github.com/mathnotes-app/mobile-ink/issues
8+
about: Report reusable ink-engine bugs here.
9+
- name: Contact Mark on X
10+
url: https://x.com/markpm39
11+
about: For quick questions or project discussion.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Feature request
2+
description: Suggest a focused improvement for simplenotes.
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: textarea
7+
id: problem
8+
attributes:
9+
label: What problem should this solve?
10+
description: Describe the workflow or pain point.
11+
validations:
12+
required: true
13+
- type: textarea
14+
id: proposal
15+
attributes:
16+
label: Proposed solution
17+
description: Keep it focused on the simplest behavior that would solve the problem.
18+
validations:
19+
required: true
20+
- type: dropdown
21+
id: area
22+
attributes:
23+
label: Area
24+
options:
25+
- Library
26+
- Editor / ink
27+
- PDF import
28+
- PDF export
29+
- Text or image objects
30+
- Folders
31+
- Privacy / local storage
32+
- Platform submission
33+
- Other
34+
validations:
35+
required: true
36+
- type: textarea
37+
id: alternatives
38+
attributes:
39+
label: Alternatives considered

.github/workflows/ci.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
typecheck:
13+
name: Typecheck
14+
runs-on: macos-15
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Setup Node
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: 22
23+
cache: npm
24+
25+
- name: Install dependencies
26+
run: npm ci --legacy-peer-deps
27+
28+
- name: Typecheck
29+
run: npm run typecheck

.gitignore

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
node_modules/
2+
.expo/
3+
dist/
4+
web-build/
5+
ios/Pods/
6+
ios/build/
7+
ios/DerivedData/
8+
android/build/
9+
android/.gradle/
10+
android/local.properties
11+
android/app/build/
12+
android/app/.cxx/
13+
android/app/debug.keystore
14+
*.keystore
15+
*.jks
16+
*.p8
17+
*.pem
18+
*.mobileprovision
19+
*.xcarchive
20+
ios/.xcode.env.local
21+
*.log
22+
.DS_Store
23+
.env*
24+
!.env.example
25+
*.tsbuildinfo
26+
expo-env.d.ts

CONTRIBUTING.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Contributing
2+
3+
Thanks for helping improve simplenotes. The goal of this project is a simple, local-first, open-source notes app with a strong mobile ink foundation.
4+
5+
Small, focused contributions are welcome: bug reports, reproducible crashes, device-specific PDF import/export issues, documentation fixes, UI polish, and careful fixes to local storage or native integration all help.
6+
7+
## Development Setup
8+
9+
```sh
10+
npm ci --legacy-peer-deps
11+
npm run typecheck
12+
```
13+
14+
Run the app with an Expo dev client:
15+
16+
```sh
17+
npx expo run:ios
18+
npx expo run:android
19+
```
20+
21+
Expo Go is not supported because the app depends on native code from `@mathnotes/mobile-ink`.
22+
23+
## Pull Request Expectations
24+
25+
- Keep changes focused and easy to review.
26+
- Run `npm run typecheck` before opening a PR.
27+
- Rebuild and manually test on a real device when touching native code, PDF import/export, file handling, or Mobile Ink integration.
28+
- Do not include private notes, imported PDFs, screenshots with personal information, credentials, signing files, generated build outputs, or local caches.
29+
- Preserve the local-first privacy model. Do not add analytics, tracking, account systems, sync services, or network calls without a clear public discussion first.
30+
31+
## App And Engine Boundaries
32+
33+
Use this repo for the simplenotes app: library UX, note storage, PDF import/export behavior, app chrome, and platform submission work.
34+
35+
Use [`mathnotes-app/mobile-ink`](https://github.com/mathnotes-app/mobile-ink) for reusable ink-engine bugs, canvas primitives, native rendering, selection behavior, stroke serialization, and engine-level PDF/page handling.
36+
37+
If a bug crosses both repos, open the app issue here and link the Mobile Ink issue or PR.

0 commit comments

Comments
 (0)