- 🎨 Clean, elegant UI that adapts to both light and dark mode
- 📁 File system navigation with a convenient sidebar
- 📝 Markdown rendering with proper formatting
- 📊 Mermaid diagram support for visualizing flowcharts and diagrams
- ℹ️ File information panel displaying detailed file metadata
- 📄 Git integration showing repository status and commit details
- 🖥️ macOS-native look and feel designed specifically for desktop
Always links to the latest release zip file!
You can also browse all releases here.
# Install using the custom tap (recommended)
brew tap kkarimi/bergen
brew install kkarimi/bergen/bergen
Download the latest release from GitHub Releases.
- Node.js (>= 18)
- macOS
- Xcode (latest version recommended)
- CocoaPods
-
Clone the repository
git clone https://github.com/kkarimi/bergen.git cd bergen
-
Install JavaScript dependencies
yarn install
-
Install pod dependencies
cd macos && pod install
# Start the app
yarn macos
- Use the sidebar to navigate through your file system
- Click on any markdown (.md) file to preview it
- Use the "Open File" button to navigate to a specific location
- Click the info (ℹ️) button in the tab bar to view detailed file information
- The app automatically renders markdown formatting and Mermaid diagrams
- React Native macOS - macOS platform support
- React Native WebView - For rendering markdown content
- React Native FS - For file system operations
Comprehensive documentation is available in the docs directory:
- Architecture Guide - High-level application architecture
- Native Code Guide - macOS native code organization
- Native Module Guide - Creating new native modules
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
The project uses semantic versioning (semver) with version format major.minor.patch
. The initial version starts at 0.0.1
.
To create a new release:
# Default: bump patch version (e.g., 0.0.1 -> 0.0.2)
yarn release
# Bump minor version (e.g., 0.0.1 -> 0.1.0)
yarn release --bump-type minor
# Bump major version (e.g., 0.0.1 -> 1.0.0)
yarn release --bump-type major
The release script will:
- Bump the version in package.json
- Create a version commit
- Build the macOS app
- Create a draft GitHub release
- Upload the binary
After running the script, review and publish the release from the GitHub web interface.
This project is licensed under the MIT License - see the LICENSE file for details
- Inspired by various markdown editors and viewers
- macOS design guidelines