Initial commit

This commit is contained in:
2025-08-23 15:39:57 +02:00
parent d6c04b9d90
commit 3ac1faa3dc
3 changed files with 63 additions and 1 deletions

21
.gitignore vendored Normal file
View File

@@ -0,0 +1,21 @@
# Xcode / Swift
.DS_Store
xcuserdata/
DerivedData/
build/
*.xcuserstate
# SwiftPM
.build/
Package.resolved
# Archives / exports
*.xcarchive
*.ipa
*.dSYM
*.dSYM.zip
ExportOptions.plist
# Misc
*.swp
*.zip

View File

@@ -1,2 +1,26 @@
# busymirror
# BusyMirror
BusyMirror mirrors meetings between your calendars so your availability stays consistent across accounts/devices.
## What it does (current checkpoint)
- Manual “Run” to mirror events across selected routes (Source → Targets).
- DRY-RUN mode shows what would happen.
- Prefix-based tagging of mirrored events.
- Cleanup of placeholders (with confirmation).
- Loop/duplicate guards so mirrors dont replicate themselves.
- Time window and merge-gap settings.
## Why
Use one calendars confirmed meetings to block time in other calendars (e.g., corporate iPad vs. personal devices).
## Build (macOS)
1. Open `BusyMirror.xcodeproj` in Xcode.
2. Select the BusyMirror scheme → My Mac.
3. Product → Build.
4. Product → Archive → Distribute App → Copy App (no notarization) to export a `.app` (or ZIP it for sharing).
## Roadmap
See [ROADMAP.md](ROADMAP.md)
## License
MIT — see [LICENSE](LICENSE).

17
ROADMAP.md Normal file
View File

@@ -0,0 +1,17 @@
# BusyMirror Roadmap
## Next
- Source filters (name patterns like `[HOLD]`, `#nomirror`)
- Mirror only **Accepted** meetings (exclude tentative/declined)
- Persistent settings (routes, window, prefix)
- Import/Export settings (.busymirror.json)
## Then
- iOS/iPadOS app (Run Now, Shortcuts, iCloud sync)
- UI: route editor & clearer toggles
- “Dry-run by default” preference
## Later
- Background monitoring (macOS)
- Smarter cleanup & conflict resolution
- Profiles & MDM/Managed Config support