GitHub - zakirullin/files.md: 🌱 Private, quiet space for thinking. Simple app for .md files. LLM-friendly. · GitHub

Source: original

Files.md icon

Files.md

Private, quiet space for thinking. Simple app for .md files.

Files.md screenshot English · 简体中文

You can store your whole life:

All in plain .md files, local-first. LLM-friendly. Private - your data stays at your device.

Try it out: app.files.md (Beta). Main site: files.md.

You can use this app for Second Brain, Zettelkasten, Notes, Journaling, Tasks, Checklists, and more.

Own your data as plain local files. Own the software that opens those files. Grow your knowledge with files and your own brain. Grow the software around it with an LLM. Plain files and self-owned software can last through the ages.

I have been building this project for 5 years. Consider supporting on GitHub 💚.

Dump your thoughts · How to think deeply · Second Brain? · Chatbot · Journal, tasks, checklists · Files structure

Another note taking app?

Maybe. But this time:

How to use

Install

P.S. For now, Chrome-based browsers are best at File System API support.

Dump your thoughts

Open the chat (Cmd+Enter) and send a message:

Choose where to save (can do later):

With this flow you can quickly save notes, tasks, journal records and checklists.

Files.md screenshot

Everything can be synchronized with the chatbot.

Chatbot

Open the chat, write something and press Enter:

Saving things in bot

That's it, your note is saved to an .md file.

Full bot's functionality:

Don't worry - it's much simpler than that by default.

Telegram Bot. Other messengers will follow...

How to think deeply

Connect ideas. Let them compound. Think through.

I used app.files.md to improve my thinking in brain and software development area.

How I did that:

The main thing at this point is not to distract yourself from the reading process. That's why I use the chat.

Occasionally, I did the following thought work:

All this activity helped me to:

To achieve all that, you'll have to use your brain , not advanced templates or AI workflows.

My friends and I have been using this simple setup for five years, and it works well.

Second Brain?

I'll quote I Deleted My Second Brain:

Obsidian is a brilliant piece of software. I love it, dearly. But like anything, without restraint, it can also be a trap. Markdown files in nested folders. Plugins that track your productivity. Graph views that suggest omniscience. There’s an illusion of mastery in watching your notes web into constellations. But constellations are projections. They tell stories. They do not guarantee understanding.

When I first started using PKM tools, I believed I was solving a problem of forgetting. Later, I believed I was solving a problem of integration.

Eventually, I realized I had created a new problem: deferral. The more my system grew, the more I deferred the work of thought to some future self who would sort, tag, distill, and extract the gold. That self never arrived.

The Second Brain is thrilling. Advanced guru templates, plugins and AI workflows... One wants to scrape the wisdom of the whole internet. There's some beauty in this neat system. Every new note brings dopamine.

Second Brain is getting better. But the first brain is not improving. And that’s an issue. In the AI age, your first brain is as valuable as ever.

Use your brain to think through the notes. The tool is not important, your thinking is.

Before adding a new note, try to answer these questions:

Notes can prevent experience

The worst thing is that we don’t let new experiences emerge because we already have knowledge. It's a knowledge barrier. Life gives us opportunities to live through new experiences, but we refuse, because "we already know".

Self-help through reading and taking notes?

Harm caused at the emotional level must be healed at the emotional level.

Not through intellectual work and taking notes. Reading without action is entertainment. A form of procrastination. No amount of self-help books can heal emotional wounds. What can help is psychotherapy, rescripting and chair work. Meditation. Healing happens by feeling.

When to take notes

If your goal is to:

Then taking notes is perfectly fine.

Journal

Are you feeling good about something? Send a message.

Then click "To Journal". Or just add jj or жж at the end of your message.

Your record is gonna be saved nicely in the journal/YYYY.MM Month.md file.

Tasks ✅

You're in the flow. A colleague asks you to send a report. Holding that in your head drains energy. Drop a message and stay in flow.

Add only small, actionable items. Not things like "Plan a vacation". Your task should be the first, small step of what should be done anyway. Not what you wish to be done, but don't have motivation just yet. Your task list should not create a feeling of guilt.

For tasks that should be done later press "To Later".

Checklists 🛒

A friend recommends a book to you. You're out of butter and buns. Holding things like this in your head is taxing.

Drop all that to chat, then move to a matching checklist.

How to sync

Setup | Where your files live | Sync across devices | Server needed | Best for

Local-first , app.files.md doesn't send any data | A folder on your device | No | None | Maximum privacy, your data doesn't leave your device Cloud-folder sync (iCloud/Dropbox/Google Drive) | Your existing cloud folder | Yes | None (cloud provider) | Sync across devices without running a server Self-hosted sync server | Your own (or local) server | Yes | One Go binary | Sync between devices inside your network Hosted sync server | Our managed server | Yes | api.files.md | Try it instantly, no setup

Files structure

You don't have to think about the structure, it is predefined. Although, you're free to use whatever structure you want.

Scheme is also available at files.md/llms.txt. You can copy-paste it into CLAUDE.md or AGENTS.md, so that your AI agent would understand the structure.

Hotkeys

Hotkey | Action

[ | Insert a link to a file Cmd+K / Ctrl+K | Open file search modal Cmd+N / Ctrl+N | New file Cmd+M / Ctrl+M | Move file Cmd+D / Ctrl+D | Delete file Cmd+Enter / Ctrl+Enter | Open chat Cmd+Shift+Enter / Ctrl+Shift+Enter | Toggle chat dialog Cmd+[ / Ctrl+[ | Go to previous file Cmd+] / Ctrl+] | Go to next file Cmd+~ / Ctrl+~ | Toggle sidebar Cmd+B / Ctrl+B | Toggle bold Cmd+I / Ctrl+I | Toggle italic Cmd+Y / Ctrl+Y | Insert checkbox Cmd/Ctrl + Click | Copy inline text / open link Ctrl+Cmd+Space | Insert emoji (macOS)

Useful scripts for your files

All scripts are in cmd and can be run inside your files directory. Install Go first.

Add Whoop metrics to journal

go run /abs/path/to/files.md/cmd/whoop/whoop.go

Convert wikilinks to markdown links

Convert [[wikilinks]] to standard [Name](/path.md) (--dry-run available):

go run /abs/path/to/files.md/cmd/tomdlinks/tomdlinks.go .

Insert backlinks

Adds links back to referencing files (--dry-run available):

go run /abs/path/to/files.md/cmd/backlink/backlink.go

Shift journal timestamps

Shift timestamps in journal files by N hours (useful after timezone change):

go run /abs/path/to/files.md/cmd/shifttime/shifttime.go

Documentation

Deploy on your own server Chatbot Sync flow End-to-end tests

Repository structure

How to contribute

Refer to this guide for more comprehensive rules.

Backend guidelines

Frontend guidelines

Glossary

Any file can be uniquely identified by filename and dir. We only support one level of nesting.

Performance

The project is blazing fast :) If you're afraid of using files or mutexes unnecessarily for performance reasons, take a look at this:

Mutex lock/unlock = 25 ns Read 4K randomly from SSD = 150,000 ns 1 ms = 1,000,000 ns

ADRs (Architecture Decision Records)