td-cli

darrikonnMIT更新放缓

命令行待办管理工具,用简单命令记录和整理任务,适合习惯在终端里工作的人。

A todo command line todo manager ✔️

v.1.3.0发布于 2020-07-08 23:04 UTC216star10fork同步于 2026-11-07 07:33 UTC

怎么上手

由 README 提炼,执行前请确认
pip3 install td-cli
硬件要求按 README 说明

README 未说明,仅要求 Python 3,无 GPU 或显存要求

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

用 Python 写的命令行 todo 管理器,支持跨多个项目分组管理待办事项

命令行待办管理工具,用简单命令记录和整理任务,适合习惯在终端里工作的人。

核心能力

  • 按 group 分组管理待办,可为每个 git 项目单独设默认组
  • 用 id 子串即可完成待办,无需输入完整 id
  • 支持交互模式,Windows 需额外安装 windows-curses
  • 待办详情可用编辑器打开,格式可配为 Markdown 等
  • 通过 TD_CLI_HOME 等环境变量控制数据库与配置位置

容易踩的坑

仅支持 Python 3,必须用 pip3 安装;Windows 上使用交互模式需额外安装 windows-curses;默认编辑器为 vi,需用 EDITOR 环境变量或配置项覆盖

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

4 个版本v.1.3.0
  1. v.1.3.0Version 1.3.0最新正式版2020-07-08 · 2020-07-08 23:04 UTC

    Allow setting per-project config that works for a monorepo directory style.

  2. v1.2.4Version 1.2.42019-11-21 · 2019-11-21 15:09 UTC
    查看更新说明

    Contains fix for piping output

  3. v1.1.0Version 1.1.02019-02-25 · 2019-02-25 21:54 UTC
    查看更新说明

    Allows firing up interactive mode for an empty list of todos.

    Allows adding a todo from deleted mode.

  4. v1.0.0Version 1.0.02019-02-24 · 2019-02-24 22:18 UTC
    查看更新说明

    Adds more features to the interactive mode (add, edit, delete)

    Adds the count command to get the todos count based on filter td count --completed --group my-group

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Installation

    td-cli only works for python 3, so it needs to be installed with pip3

    pip3 install td-cli
    

    Windows 10

    In order to use the interactive mode on Windows, you'll have to install windows-curses

    pip install windows-curses
    

    In addition to that, Windows Terminal is recommended for better UX.

    Getting started

    Run td --help to see possible commands.

    Here are some to get you started:

    • Run td to list all your todos.

    • Run td add "my new awesome todo" to add a new todo.

    • Run td <id> complete to complete your todo. You don't have to specify the whole id, a substring will do. It'll fetch the first one that it finds in the same order as when you list your todos.

    Note that global is a preserved group name where you can list all your global groups. You can always set it as the default with:

    td group global preset
    

    API

    Check out the api.

    Configuring

    The location of your todos and your configuration will depend on these environment variables (in this order):

    1. TD_CLI_HOME: determines where your todo.db and todo.cfg file will live
    2. XDG_CONFIG_HOME: a fallback if $TD_CLI_HOME is not set
    3. HOME: a fallback if $XDG_CONFIG_HOME is not set. If $HOME is used; all files will be transformed to a dotfile, i.e.~/.todo.db and ~/.todo.cfg.

    Database name

    Your database instance will be located in in the before-mentioned configuration directory. By default the database will be named todo.

    You can change your database name by specifying database_name in your $TD_CLI_HOME/.todo.cfg file:

    [settings]
    database_name: something_else
    

    This results in a database instance at $TD_CLI_HOME/.something_else.db

    Format

    You can specify your preferred format of your todo's details via the format config keyword:

    format: md
    

    This would result in the .md (Markdown) file extension when editing a todo. This allows you to use the power of your editor to e.g. syntax highlight the details, and etc.

    Editor

    When editing a todo, td <id> edit, you can both specify the todo's name and the todo's details via options (see td <id> edit --help). If no option is specified, your todo will be opened in vi by default (your environement EDITOR will override this) where you can edit the todo's details. You can change the default editor by updating your config:

    [settings]
    editor: nvim
    

    Only list uncompleted todos

    When listing todos, by default td-cli will list both completed and uncompleted todos. If you want to only list uncompleted todos by default, then you can apply the completed config:

    [settings]
    completed: 0
    

    Group

    When listing todos, you have the option of specifying what group to list from:

    td -g my-group
    # or
    td g my-group
    

    If no group is provided, td will list from the current default group. You can globally set the default group with:

    td g my-group preset
    

    However, there's an option to set the default group per git project (this is not possible from the root config $TD_CLI_HOME/.todo.cfg). In any root of your projects, you can create a .td.cfg config file to specify what group to default on (this will override the global default group):

    [settings]
    group: my-group
    

    If you run td within your git project, td will default to my-group.

    I recommend globally ignoring .td.cfg in ~/.gitignore.