Top Related Projects
Create Alfred workflows with ease
CLI for generating, building, and releasing oclif CLIs. Built by Salesforce.
node.js command-line interfaces made easy
yargs the modern, pirate-themed successor to optimist.
🖍 Terminal string styling done right
Stylish, intuitive and user-friendly prompts. Used by eslint, webpack, yarn, pm2, pnpm, RedwoodJS, FactorJS, salesforce, Cypress, Google Lighthouse, Generate, tencent cloudbase, lint-staged, gluegun, hygen, hardhat, AWS Amplify, GitHub Actions Toolkit, @airbnb/nimbus, and more! Please follow Enquirer's author: https://github.com/jonschlinkert
Quick Overview
Tusk is an unofficial, feature-rich Evernote desktop app for Linux, Windows, and macOS. It aims to provide a seamless and enhanced Evernote experience across multiple platforms, with a focus on customization and productivity features not found in the official Evernote client.
Pros
- Cross-platform compatibility (Linux, Windows, macOS)
- Rich set of customization options and keyboard shortcuts
- Dark mode and various themes available
- Regular updates and active community support
Cons
- Unofficial app, which may raise security concerns for some users
- Dependent on Evernote's web interface, potentially affected by changes to Evernote's web app
- May lack some features available in the official Evernote client
- Requires an Evernote account to use
Getting Started
- Download the latest release for your operating system from the Tusk GitHub releases page.
- Install the application:
- For Windows: Run the
.exe
installer - For macOS: Mount the
.dmg
file and drag the app to your Applications folder - For Linux: Use the appropriate package manager for your distribution (e.g.,
.deb
for Debian/Ubuntu,.rpm
for Fedora/CentOS)
- For Windows: Run the
- Launch Tusk and log in with your Evernote account.
- Explore the settings (gear icon) to customize the app according to your preferences.
Competitor Comparisons
Create Alfred workflows with ease
Pros of alfy
- Specifically designed for creating Alfred workflows, providing a streamlined experience
- Extensive documentation and examples, making it easier for beginners to get started
- Large community and ecosystem of plugins and extensions
Cons of alfy
- Limited to Alfred workflows, less versatile for other types of applications
- Requires Alfred with Powerpack, which is a paid software
- May have a steeper learning curve for developers not familiar with Alfred
Code Comparison
alfy:
const alfy = require('alfy');
alfy.output([
{
title: 'Unicorn',
subtitle: 'Rainbow',
arg: 'unicorn',
icon: {
path: 'unicorn.png'
}
}
]);
tusk:
const tusk = require('tusk');
tusk.render(
<List>
<Item
title="Unicorn"
subtitle="Rainbow"
value="unicorn"
icon="unicorn.png"
/>
</List>
);
While both libraries allow for creating interactive CLI interfaces, alfy is specifically tailored for Alfred workflows, whereas tusk provides a more general-purpose solution for building terminal user interfaces using React-like syntax.
CLI for generating, building, and releasing oclif CLIs. Built by Salesforce.
Pros of oclif
- Robust CLI framework with extensive documentation and tooling
- Supports plugins and multi-command CLIs out of the box
- Backed by Salesforce, ensuring long-term maintenance and support
Cons of oclif
- Steeper learning curve due to its comprehensive feature set
- Heavier footprint compared to simpler CLI tools
- May be overkill for small, single-command projects
Code Comparison
oclif command structure:
import {Command} from '@oclif/command'
export class MyCommand extends Command {
static description = 'description of this command'
async run() {
// command logic here
}
}
Tusk command structure:
const tusk = require('tusk');
tusk.command('command-name', 'Command description', (args) => {
// command logic here
});
Summary
oclif is a powerful CLI framework suitable for complex, multi-command applications with extensive features and plugin support. It offers robust tooling and documentation but may have a steeper learning curve.
Tusk, on the other hand, is a simpler, more lightweight option for creating basic CLI tools. It's easier to get started with but may lack some advanced features found in oclif.
Choose oclif for larger, more complex CLI projects, especially if you need plugin support or are building a multi-command application. Opt for Tusk if you're looking for a simpler solution for small-scale CLI tools with a gentler learning curve.
node.js command-line interfaces made easy
Pros of Commander.js
- More mature and widely adopted project with a larger community
- Extensive documentation and examples available
- Supports both declarative and programmatic command-line interfaces
Cons of Commander.js
- Heavier and more complex for simple CLI applications
- Less focus on modern JavaScript features and syntax
Code Comparison
Commander.js:
const program = require('commander');
program
.version('0.1.0')
.option('-p, --peppers', 'Add peppers')
.option('-c, --cheese <type>', 'Add cheese')
.parse(process.argv);
Tusk:
import { cli } from 'tusk';
cli()
.command('greet <name>')
.action(name => console.log(`Hello, ${name}!`))
.parse();
Summary
Commander.js is a more established and feature-rich library for building command-line interfaces in Node.js. It offers extensive documentation and a large community, making it suitable for complex CLI applications. However, it may be overkill for simpler projects.
Tusk, on the other hand, is a newer and more lightweight alternative. It focuses on modern JavaScript syntax and simplicity, making it easier to use for smaller projects. However, it may lack some advanced features and has a smaller community compared to Commander.js.
The choice between the two depends on the project's complexity, required features, and personal preference for syntax and API design.
yargs the modern, pirate-themed successor to optimist.
Pros of yargs
- More mature and widely adopted project with a larger community
- Extensive documentation and examples available
- Supports a wide range of command-line argument parsing features
Cons of yargs
- Steeper learning curve for complex configurations
- Can be overkill for simple command-line applications
- Larger package size compared to more lightweight alternatives
Code Comparison
yargs:
const argv = require('yargs')
.option('name', {
alias: 'n',
describe: 'Your name'
})
.help()
.argv;
console.log(`Hello, ${argv.name}!`);
Tusk:
const tusk = require('tusk');
tusk
.option('name', 'Your name', 'n')
.parse();
console.log(`Hello, ${tusk.name}!`);
Both yargs and Tusk provide similar functionality for parsing command-line arguments, but yargs offers more advanced features and configuration options. Tusk, on the other hand, aims for simplicity and ease of use, making it a good choice for smaller projects or those new to command-line argument parsing.
Yargs has a larger ecosystem and more extensive documentation, which can be beneficial for complex applications. However, this can also make it more challenging to get started with for beginners. Tusk's simpler API may be more approachable for those new to command-line argument parsing or working on smaller projects.
🖍 Terminal string styling done right
Pros of Chalk
- More focused and lightweight, specifically for terminal string styling
- Extensive color and style support with easy chaining of methods
- Widely adopted with a large community and ecosystem
Cons of Chalk
- Limited to string styling, lacks advanced terminal manipulation features
- Doesn't provide a full-fledged application framework like Tusk
Code Comparison
Chalk:
const chalk = require('chalk');
console.log(chalk.blue('Hello') + ' World' + chalk.red('!'));
Tusk:
const {render} = require('ink');
const {Text} = require('ink-components');
render(<Text>Hello <Text color="blue">World</Text>!</Text>);
Summary
Chalk is a popular library for terminal string styling, offering a simple and intuitive API for adding colors and styles to console output. It's lightweight and focused on this specific task.
Tusk, on the other hand, is a more comprehensive framework for building terminal applications using React components. It provides a higher level of abstraction and more advanced features for creating interactive CLI apps.
While Chalk excels in simplicity and ease of use for basic styling, Tusk offers a more powerful toolkit for building complex terminal interfaces. The choice between them depends on the specific needs of your project.
Stylish, intuitive and user-friendly prompts. Used by eslint, webpack, yarn, pm2, pnpm, RedwoodJS, FactorJS, salesforce, Cypress, Google Lighthouse, Generate, tencent cloudbase, lint-staged, gluegun, hygen, hardhat, AWS Amplify, GitHub Actions Toolkit, @airbnb/nimbus, and more! Please follow Enquirer's author: https://github.com/jonschlinkert
Pros of Enquirer
- More comprehensive and feature-rich CLI prompts library
- Highly customizable with a wide range of prompt types
- Active development and larger community support
Cons of Enquirer
- Steeper learning curve due to more complex API
- Potentially overkill for simple CLI applications
- Larger package size and dependencies
Code Comparison
Enquirer:
const { prompt } = require('enquirer');
prompt({
type: 'input',
name: 'username',
message: 'What is your username?'
}).then(answer => console.log('Username:', answer.username));
Tusk:
const tusk = require('tusk');
tusk.input('What is your username?')
.then(username => console.log('Username:', username));
Summary
Enquirer offers a more comprehensive set of features for building complex CLI applications, while Tusk provides a simpler and more lightweight approach. Enquirer's extensive customization options and prompt types make it suitable for advanced use cases, but it may be overwhelming for basic projects. Tusk, on the other hand, offers a more straightforward API and smaller footprint, making it ideal for simpler CLI tools. The choice between the two depends on the specific requirements of your project and the level of complexity you need in your command-line interfaces.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME

Tusk
Refined Evernote desktop app
Description
Tusk is an unofficial, featureful, open source, community-driven, free Evernote app used by people in more than 140 countries.
Tusk is indicated by Evernote as an alternative client for Linux environments trusted by the open source community.
You can now support the development process through GitHub Sponsors.
Come over to Gitter or Twitter to share your thoughts on the project.
Visit the contributing guidelines to learn more on how to translate this document into more languages.
You can find more apps here.
Highlights
- Black, Dark & Sepia Themes
- Focus, Compact & Auto-Night Modes
- Local & Global Customizable Keyboard Shortcuts
- Export Notes as PDF, HTML & Markdown Files
- Note Navigation
- Yinxiang Support
- Cross Platform
- Scalable Interface
- Update Notifications
- Drag and Drop Files
Contents
- Description
- Highlights
- Install
- Features
- Keyboard Shortcuts
- Development
- Related Apps
- Team
- Sponsors
- Disclaimer
- License
Install
Github Releases
Head to the releases page and download the appropriate installer for your system.
Snapcraft
Ubuntu Linux users can directly install through Snapcraft snap install tusk
Homebrew
Macos users can directly install through Homebrew Cask brew cask install tusk
Note
The version available on Homebrew Cask
may not be the latest, since unlike Snapcraft
, it is not offically maintained. If that is the case, please consider downloading directly from the Github releases page.
Features
Visit the project homepage to view all features in detail.
- Auto Night Mode - Press Cmd/Ctrl Alt N to allow Tusk to adjust to your environment.
- Black Theme - Activate it by pressing Cmd/Ctrl Alt E.
- Compact Mode - Downsize the window to enter the mode.
- Custom Shortcut Keys - Navigate to
~/.tusk.json
or press Cmd/Ctrl . to modify any shortcut key. To reset delete~/.tusk.json
& restart the app. - Dark Theme - Activate it by pressing Cmd/Ctrl D.
- Drag & Drop Files - Attach files by dragging them to the app window.
- Export Notes as Markdown - Press Cmd/Ctrl O to save your notes as
Markdown
files. - Export Notes as HTML - Press Cmd/Ctrl Shift H to save your notes as
HTML
files. - Export Notes as PDF - Press Cmd/Ctrl Shift E to save your notes as
PDF
files. - Focus Mode - Activate it by pressing Cmd/Ctrl K.
- Global Shortcut Keys - Enable them by using the
File
>Enable Global Shortcut Keys
option. - Note Navigation - Navigate your notes by pressing Cmd/Ctrl Tab / Cmd/Ctrl Shift Tab or jump directly to one by using Cmd/Ctrl 1 - 9.
- Note Printing - Press Cmd/Ctrl Alt P to print your notes.
- Scalable Interface - Adjust the zooming factor by pressing Cmd/Ctrl Shift = or Cmd/Ctrl -.
- Sepia Theme - Activate it by pressing Cmd/Ctrl G.
- Update Notifications - Customize the apps update checking frequency.
- Yinxiang Support - Login to Yinxiang by using the
File
>Switch to Yinxiang
option.
Keyboard Shortcuts
Local Shortcut Keys
70+ local keyboard shortcuts. Toggle anything in a flash.
View all the available local keyboard shortcuts.
Description | Keys |
---|---|
Activate Auto Night Mode | Cmd/Ctrl Alt N |
Add Link | Cmd/Ctrl Shift K |
Add Shortcut | Cmd/Ctrl Alt S |
Align Center | Cmd/Ctrl Alt M |
Align Left | Cmd/Ctrl Alt L |
Align Right | Cmd/Ctrl Alt R |
Attach File | Cmd/Ctrl Shift F |
Bold Text | Cmd/Ctrl B |
Bulleted List | Cmd/Ctrl Shift . |
Change Font Size | Cmd/Ctrl Alt 1 - 6 |
Code Block | Cmd/Ctrl Shift L |
Decrease Indentation | Cmd/Ctrl Shift M |
Delete Note | Delete |
Edit Shortcut Keys | Cmd/Ctrl . |
Export Note as HTML | Cmd/Ctrl Shift H |
Export Note as Markdown | Cmd/Ctrl O |
Export Note as PDF | Cmd/Ctrl Shift E |
Increase Indentation | Cmd/Ctrl Alt K |
Insert Date Stamp | Cmd/Ctrl Shift ; |
Insert Date-Time Stamp | Cmd/Ctrl ; |
Insert from Drive | Cmd/Ctrl Shift D |
Insert Horizontal Rule | Cmd/Ctrl Shift - |
Italic Text | Cmd/Ctrl I |
Jump to Note | Cmd/Ctrl 1 - 9 |
Make Text Larger | Cmd/Ctrl Shift = |
Make Text Smaller | Cmd/Ctrl - |
Navigate to Next Note | Cmd/Ctrl Tab |
Navigate to Previews Note | Cmd/Ctrl Shift Tab |
New Note | Cmd/Ctrl N |
New Notebook | Cmd/Ctrl Shift N |
New Tag | Cmd/Ctrl Shift T |
Numbered List | Cmd/Ctrl Shift O |
Print Note | Cmd/Ctrl Alt P |
Remove Formatting | Cmd/Ctrl Shift Space |
Reset Zoom Level | Cmd/Ctrl 0 |
Return to Notes | Esc |
Save Note | Cmd/Ctrl S |
Search Notes | Cmd/Ctrl F |
Set Always on Top | Cmd/Ctrl Shift P |
Set Reminder | Cmd/Ctrl E |
Strikethrough Text | Cmd/Ctrl T |
Subscript Text | Cmd/Ctrl Shift ] |
Superscript Text | Cmd/Ctrl Shift [ |
Toggle Black Theme | Cmd/Ctrl Alt E |
Toggle Checkbox | Cmd/Ctrl Shift B |
Toggle Dark Theme | Cmd/Ctrl D |
Toggle Focus Mode | Cmd/Ctrl K |
Toggle Notebooks | Alt Shift N |
Toggle Sepia Theme | Cmd/Ctrl G |
Toggle Settings | Cmd/Ctrl , |
Toggle Shortcuts | Cmd/Ctrl Shift S |
Toggle Sidebar | Cmd/Ctrl \ |
Toggle Tags | Alt Shift T |
Toggle Window Menu | Alt |
Underline Text | Cmd/Ctrl U |
Global Shortcut Keys
Access Tusk at any moment from anywhere within your operating system. All global shortcuts can be customized to match your own preference through the configuration file ~/.tusk.json
.
View all the available global keyboard shortcuts.
Description | Global Shortcut |
---|---|
Toggle Tusk Window | Cmd/Ctrl Alt A |
Create New Note | Cmd/Ctrl Alt C |
Search Notes | Cmd/Ctrl Alt F |
Development
For more info on how to contribute to the project, please read the contributing guidelines.
- Fork the repository and clone it to your machine
- Navigate to your local fork:
cd tusk
- Install the project dependencies:
npm install
oryarn install
- Run Tusk on dev mode:
npm start
oryarn start
- Lint code for errors:
npm test
oryarn test
- Build binaries and installers:
npm run release
oryarn release
Related Apps
- Ao - Elegant Microsoft To-Do desktop app.
- Taskbook - Tasks, boards & notes for the command-line habitat.
Team
- Klaudio Sinani (@klaussinani)
- Mario Sinani (@mariosinani)
- Athan Gkanos (@athangkanos)
Sponsors
A big thank you to all the people and companies supporting our Open Source work:
Disclaimer
Tusk is an unofficial, open source, third-party, community-driven, free app and is not affiliated in any way with Evernote.
License
Top Related Projects
Create Alfred workflows with ease
CLI for generating, building, and releasing oclif CLIs. Built by Salesforce.
node.js command-line interfaces made easy
yargs the modern, pirate-themed successor to optimist.
🖍 Terminal string styling done right
Stylish, intuitive and user-friendly prompts. Used by eslint, webpack, yarn, pm2, pnpm, RedwoodJS, FactorJS, salesforce, Cypress, Google Lighthouse, Generate, tencent cloudbase, lint-staged, gluegun, hygen, hardhat, AWS Amplify, GitHub Actions Toolkit, @airbnb/nimbus, and more! Please follow Enquirer's author: https://github.com/jonschlinkert
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot