Initial commit
This commit is contained in:
21
.gitignore
vendored
Normal file
21
.gitignore
vendored
Normal 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
|
26
README.md
26
README.md
@@ -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 don’t replicate themselves.
|
||||||
|
- Time window and merge-gap settings.
|
||||||
|
|
||||||
|
## Why
|
||||||
|
Use one calendar’s 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
17
ROADMAP.md
Normal 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
|
Reference in New Issue
Block a user