Find a file
Wavesonics b4dff7b4fd
Read a scene's references, and confirm, dismiss, or clear them
scene.meta.read now carries the entries a scene confirms and dismisses, and
scene.references.set changes them, with the same rules as the metadata panel.
2026-10-19 17:31:12 -07:00
.gitHooks Skip slow server tests in the pre-commit hook 2026-05-21 01:58:06 -07:00
.github Give every project a client-minted id (#995) 2026-10-14 22:10:23 -07:00
.run Add Docker support for self-hosting the sync server (#771) 2026-07-25 09:53:04 -07:00
.semgrep Add self-contained static-analysis CI gate (Semgrep + gitleaks) (#747) 2026-07-17 14:02:44 -07:00
android Add runtime Wasm plugins, with the operation registry, CLI, and bundled plugins 2026-10-18 01:12:19 -07:00
architectureTests Answer the MFA challenge at login in the apps (#1008) 2026-10-17 23:00:56 -07:00
base 4.0 clean break: drop pre-3.12 migrations and compatibility shims (#1009) 2026-10-17 23:47:11 -07:00
buildSrc Add runtime Wasm plugins, with the operation registry, CLI, and bundled plugins 2026-10-18 01:12:19 -07:00
common Read a scene's references, and confirm, dismiss, or clear them 2026-10-19 17:31:12 -07:00
composeUi Keep the entity picker current, and pick in it by keyboard 2026-10-18 20:31:19 -07:00
desktop Show plugin actions as pages 2026-10-18 20:19:45 -07:00
docker Support configuring the server time zone (#882) (#922) 2026-08-17 23:20:03 -07:00
docs Read a scene's references, and confirm, dismiss, or clear them 2026-10-19 17:31:12 -07:00
fastlane New Crowdin updates (#998) 2026-10-17 17:36:51 -07:00
flatpak Prepared for release: v3.12.0 2026-10-05 08:21:53 -07:00
gradle Add runtime Wasm plugins, with the operation registry, CLI, and bundled plugins 2026-10-18 01:12:19 -07:00
integrationTests 4.0 clean break: drop pre-3.12 migrations and compatibility shims (#1009) 2026-10-17 23:47:11 -07:00
ios Prepared for release: v3.12.0 2026-10-05 08:21:53 -07:00
msix Add runtime Wasm plugins, with the operation registry, CLI, and bundled plugins 2026-10-18 01:12:19 -07:00
operations Read a scene's references, and confirm, dismiss, or clear them 2026-10-19 17:31:12 -07:00
plugins/wasmhost Read a scene's references, and confirm, dismiss, or clear them 2026-10-19 17:31:12 -07:00
readme Update preview image 2026-05-23 01:43:04 -07:00
scripts Update our store asset generation 2026-05-23 01:00:28 -07:00
server Merge develop into 4.0.0 2026-10-17 23:54:15 -07:00
snap Fix spell check in the Linux snap (#1003) 2026-10-17 17:36:38 -07:00
wear Answer the MFA challenge at login in the apps (#1008) 2026-10-17 23:00:56 -07:00
.codacy.yaml Give every project a client-minted id (#995) 2026-10-14 22:10:23 -07:00
.dockerignore Add Docker support for self-hosting the sync server (#771) 2026-07-25 09:53:04 -07:00
.editorconfig Except yaml files 2023-07-05 22:02:48 -07:00
.gitignore Stop large story imports from freezing the app 2026-07-30 21:10:36 -07:00
.gitleaks.toml Add self-contained static-analysis CI gate (Semgrep + gitleaks) (#747) 2026-07-17 14:02:44 -07:00
build.gradle.kts Add runtime Wasm plugins, with the operation registry, CLI, and bundled plugins 2026-10-18 01:12:19 -07:00
CHANGELOG.md Prepared for release: v3.12.0 2026-10-05 08:21:53 -07:00
codecov.yml Improve codecov ignores 2026-07-13 23:45:23 -07:00
crowdin.yml Add the client plugin seam and make story export pluggable 2026-10-18 01:02:00 -07:00
DEVELOPMENT.md Stamp builds with their package format and publish update metadata (#977) 2026-10-04 22:45:07 -07:00
Gemfile Working on Android publishing 2023-08-09 20:54:45 -07:00
Gemfile.lock Bump excon from 0.112.0 to 1.5.0 (#761) 2026-07-20 23:15:54 -07:00
gradle.properties Bump Gradle JVM args for K/N build 2026-05-20 22:24:03 -07:00
gradlew Update gradle 9.5.0 2026-05-18 21:09:52 -07:00
gradlew.bat Update gradle 9.5.0 2026-05-18 21:09:52 -07:00
hammer-editor-logo.svg Updating logo and icons 2026-05-13 21:53:57 -07:00
hammer-icon.png Updating logo and icons 2026-05-13 21:53:57 -07:00
hammer-icon.svg Updating logo and icons 2026-05-13 21:53:57 -07:00
LICENSE Add LICENSE 2023-02-08 18:07:09 -08:00
PRIVACY.md Wear OS app: capture notes and story ideas from the wrist (#950) 2026-09-19 10:58:19 -07:00
proguard-common.pro Enable R8 obfuscation for Android and Wear; upload mapping files to Play 2026-09-23 18:00:47 -07:00
README.md Give every project a client-minted id (#995) 2026-10-14 22:10:23 -07:00
renovate.json Add renovate.json (#53) 2023-09-07 19:36:28 -07:00
settings.gradle.kts Add runtime Wasm plugins, with the operation registry, CLI, and bundled plugins 2026-10-18 01:12:19 -07:00
SUPPORT.md Move the sandbox first-run flow onto native AppKit 2026-08-17 20:42:00 -07:00

Hammer Logo Hammer: A story editor

A simple tool for building stories.

badge-kotlin MIT License Build Status Codacy Badge codecov

badge-platform-android badge-platform-ios badge-platform-windows badge-platform-linux badge-platform-macos

Discord badge Crowdin

Available on:

Platform App Store Direct download
Android Google Play F-Droid .apk
iOS App Store —
Windows Microsoft Store .msi .exe
macOS Mac App Store .dmg
Linux Snap Store .deb .rpm AppImage Flatpak

Community

Join our Discord and help us by reporting bugs, making feature requests, and discussing the future of Hammer.

Or visit us on Reddit at r/hammereditor

Take a look at the Roadmap to see whats coming.

Multi-platform

This app is where ever you are. Your phone, tablet, desktop, laptop, this program can be installed and run, not simply a website-in-a-box, but instead using native client side technologies to provide the best experience possible.

Multi-Screen

Whether you are on a phone, tablet, or desktop, Hammer will make the best use of your screen space. Also supporting both light and dark modes.

Screen Shots

Offline first

I was frustrated with most of the story writing software I was finding as they were using web technologies (aka: Web Page in a box) which always seems to run into problems while being used offline for long periods of time. Hammer is designed from the ground up to be entirely local, no internet connection required, ever.

Transparent Data

Your data is yours. It's not stored in the cloud, or some opaque database. It is stored in simple, human readable files, just using files and folders to define the project structure. You can open your OSes file browser and take a look for your self. If this program went away today you would be able to easily interact with your data. Your settings and content are yours to edit, while each project's metadata file (project.toml) is managed by Hammer and may be overwritten.

Intelligent Syncing between devices

Your data can be synchronized between devices allowing you to work on your story from anywhere, and have no fear of a change on one device, overwriting a change on another device.

Optional and Self hosted Syncing

Syncing is entirely optional, you can install the client and use it on one device, or you can install the server and sync your data between devices. You could even use some other service to sync your data, like Dropbox, Google Drive or syncthing. (however these will only work for syncing between desktop computers. Mobile clients will have to use the built in syncing protocol.)

It's all up to you. Instructions can be found here.

If you don't know how, or just don't want to setup your own server, we're also running an official syncing server.

Official Server: hammer.ink

This is also the best way to support the project! Subscribe to our Patreon in order to get instant access to this official Sync server.

This official server endeavors to be a reliable, and secure way to sync your projects. We perform regular backups, and of course encrypt all of our data both in transit, and at rest in our database. Let us manage the server, and you worry about writing!

Test Environment

We're also running a test environment here: test.hammer.ink which is always running the latest commit.

Do not use the test environment for real data! It will get cleared from time-to-time without notice!

🪨 Dark Rock Studios

Dark Rock Studios is all about building Free and Open Source Software.

🐛 Found bugs?
💡 Have suggestions?
📚 Want to help translate?
🎮 Interested in our other apps?
👉 Join our community of Open Source enthusiasts on Discord!

Development

Want to contribute? Great! Here are some instructions to get you started.

Having a problem?

Visit our support page.

Redeploy