todowrite-cli


Nametodowrite-cli JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummaryCLI interface for ToDoWrite - A tool for managing complex software projects
upload_time2025-11-02 22:38:10
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseMIT
keywords cli commands concepts goals management project task tasks todo
VCS
bugtrack_url
requirements sqlalchemy typing-extensions click psycopg2-binary PyYAML jsonschema
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ToDoWrite CLI

A command-line interface for managing complex software projects with Goals, Tasks, Concepts, and Commands.

## Prerequisites

You must first install the todowrite library:
```bash
pip install todowrite
```

## Installation

```bash
pip install todowrite-cli
```

For PostgreSQL support:
```bash
pip install 'todowrite-cli[postgres]'
```

## Quick Start

### Initialize a project

```bash
todowrite init --database-path myproject.db
```

### Create a Goal

```bash
todowrite create --goal "Implement User Authentication" --description "Create secure user authentication system"
```

### Create a Task

```bash
todowrite create --task "Design Database Schema" --description "Design and implement database schema for users"
```

### Create a Concept

```bash
todowrite create --concept "OAuth2 Flow" --description "OAuth2 authentication flow implementation"
```

### Create a Command

```bash
todowrite create --command "Build Project" --description "Build the entire project" \
  --run-shell "make build" --artifacts "dist/"
```

### Link Nodes

```bash
todowrite link --parent "GOAL-001" --child "TSK-001"
```

### Update Progress

```bash
todowrite status update --id "TSK-001" --status in_progress --progress 50
```

### View Project Status

```bash
todowrite status list
todowrite status show --id "GOAL-001"
```

### Import/Export YAML

```bash
todowrite import-yaml --yaml ./configs/
todowrite export-yaml --output ./backup/
```

## Commands

### Project Management
- `init` - Initialize a new project
- `create` - Create new nodes (goals, tasks, concepts, commands)
- `get` - Get a specific node by ID
- `list` - List all nodes with their status
- `status show` - Show detailed information about a specific node

### Status Management
- `status update` - Update node status and progress
- `status complete` - Mark a node as completed
- `status list` - List all nodes with their status

### Import/Export
- `import-yaml` - Import nodes from YAML files
- `export-yaml` - Export nodes to YAML files
- `sync-status` - Check synchronization status between YAML files and database

### Database Management
- `db-status` - Show storage configuration and status

## Configuration

Configuration is stored in `~/.todowrite/config.yaml`:

```yaml
database:
  default_path: "./todowrite.db"
  storage: "sqlite"  # or "postgresql"

yaml:
  base_path: "./configs"

ui:
  colors: true
  table_format: "fancy_grid"
```

## Development

### Setup Development Environment

```bash
git clone https://github.com/dderyldowney/todowrite.git
cd todowrite/cli_package
pip install -e .[dev]
```

### Run Tests

```bash
pytest tests/
```

### Run Linters

```bash
black .
isort .
flake8 .
mypy .
```

### Pre-commit Hooks

```bash
pre-commit install
```

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Run tests and linters
5. Submit a pull request

## License

MIT License - see LICENSE file for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "todowrite-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "cli, commands, concepts, goals, management, project, task, tasks, todo",
    "author": null,
    "author_email": "D Deryl Downey <dderyldowney@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/54/09/947e9dba003511dac66fe58f1360d005083fb6f6b84f34f69b5e9d75e039/todowrite_cli-0.2.2.tar.gz",
    "platform": null,
    "description": "# ToDoWrite CLI\n\nA command-line interface for managing complex software projects with Goals, Tasks, Concepts, and Commands.\n\n## Prerequisites\n\nYou must first install the todowrite library:\n```bash\npip install todowrite\n```\n\n## Installation\n\n```bash\npip install todowrite-cli\n```\n\nFor PostgreSQL support:\n```bash\npip install 'todowrite-cli[postgres]'\n```\n\n## Quick Start\n\n### Initialize a project\n\n```bash\ntodowrite init --database-path myproject.db\n```\n\n### Create a Goal\n\n```bash\ntodowrite create --goal \"Implement User Authentication\" --description \"Create secure user authentication system\"\n```\n\n### Create a Task\n\n```bash\ntodowrite create --task \"Design Database Schema\" --description \"Design and implement database schema for users\"\n```\n\n### Create a Concept\n\n```bash\ntodowrite create --concept \"OAuth2 Flow\" --description \"OAuth2 authentication flow implementation\"\n```\n\n### Create a Command\n\n```bash\ntodowrite create --command \"Build Project\" --description \"Build the entire project\" \\\n  --run-shell \"make build\" --artifacts \"dist/\"\n```\n\n### Link Nodes\n\n```bash\ntodowrite link --parent \"GOAL-001\" --child \"TSK-001\"\n```\n\n### Update Progress\n\n```bash\ntodowrite status update --id \"TSK-001\" --status in_progress --progress 50\n```\n\n### View Project Status\n\n```bash\ntodowrite status list\ntodowrite status show --id \"GOAL-001\"\n```\n\n### Import/Export YAML\n\n```bash\ntodowrite import-yaml --yaml ./configs/\ntodowrite export-yaml --output ./backup/\n```\n\n## Commands\n\n### Project Management\n- `init` - Initialize a new project\n- `create` - Create new nodes (goals, tasks, concepts, commands)\n- `get` - Get a specific node by ID\n- `list` - List all nodes with their status\n- `status show` - Show detailed information about a specific node\n\n### Status Management\n- `status update` - Update node status and progress\n- `status complete` - Mark a node as completed\n- `status list` - List all nodes with their status\n\n### Import/Export\n- `import-yaml` - Import nodes from YAML files\n- `export-yaml` - Export nodes to YAML files\n- `sync-status` - Check synchronization status between YAML files and database\n\n### Database Management\n- `db-status` - Show storage configuration and status\n\n## Configuration\n\nConfiguration is stored in `~/.todowrite/config.yaml`:\n\n```yaml\ndatabase:\n  default_path: \"./todowrite.db\"\n  storage: \"sqlite\"  # or \"postgresql\"\n\nyaml:\n  base_path: \"./configs\"\n\nui:\n  colors: true\n  table_format: \"fancy_grid\"\n```\n\n## Development\n\n### Setup Development Environment\n\n```bash\ngit clone https://github.com/dderyldowney/todowrite.git\ncd todowrite/cli_package\npip install -e .[dev]\n```\n\n### Run Tests\n\n```bash\npytest tests/\n```\n\n### Run Linters\n\n```bash\nblack .\nisort .\nflake8 .\nmypy .\n```\n\n### Pre-commit Hooks\n\n```bash\npre-commit install\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Run tests and linters\n5. Submit a pull request\n\n## License\n\nMIT License - see LICENSE file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "CLI interface for ToDoWrite - A tool for managing complex software projects",
    "version": "0.2.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/dderyldowney/todowrite/issues",
        "Documentation": "https://github.com/dderyldowney/todowrite/blob/main/README.md",
        "Homepage": "https://github.com/dderyldowney/todowrite",
        "Repository": "https://github.com/dderyldowney/todowrite.git"
    },
    "split_keywords": [
        "cli",
        " commands",
        " concepts",
        " goals",
        " management",
        " project",
        " task",
        " tasks",
        " todo"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1f4a4efe89bd48cc50bb42306631edba41970b3d69af8960d0ea4d6b40cfc921",
                "md5": "3d9e8695519f7a0a56b7aa5b93843448",
                "sha256": "dcad7c580b4472717d0014c471d89786b052dc818e0b84429d705b801fc4ff1c"
            },
            "downloads": -1,
            "filename": "todowrite_cli-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3d9e8695519f7a0a56b7aa5b93843448",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 9517,
            "upload_time": "2025-11-02T22:38:09",
            "upload_time_iso_8601": "2025-11-02T22:38:09.453736Z",
            "url": "https://files.pythonhosted.org/packages/1f/4a/4efe89bd48cc50bb42306631edba41970b3d69af8960d0ea4d6b40cfc921/todowrite_cli-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5409947e9dba003511dac66fe58f1360d005083fb6f6b84f34f69b5e9d75e039",
                "md5": "67bd00e2dcaa10be3f3ccd1d88e4042f",
                "sha256": "6feb835b89dc02a9f125a9bb443684b31d784dd292bee2ea2175a4089aac50bf"
            },
            "downloads": -1,
            "filename": "todowrite_cli-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "67bd00e2dcaa10be3f3ccd1d88e4042f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 9501,
            "upload_time": "2025-11-02T22:38:10",
            "upload_time_iso_8601": "2025-11-02T22:38:10.487808Z",
            "url": "https://files.pythonhosted.org/packages/54/09/947e9dba003511dac66fe58f1360d005083fb6f6b84f34f69b5e9d75e039/todowrite_cli-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-02 22:38:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dderyldowney",
    "github_project": "todowrite",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "sqlalchemy",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    ">=",
                    "4.0.0"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    ">=",
                    "8.0.0"
                ]
            ]
        },
        {
            "name": "psycopg2-binary",
            "specs": [
                [
                    ">=",
                    "2.9.0"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    ">=",
                    "6.0.0"
                ]
            ]
        },
        {
            "name": "jsonschema",
            "specs": [
                [
                    ">=",
                    "4.0.0"
                ]
            ]
        }
    ],
    "lcname": "todowrite-cli"
}
        
Elapsed time: 9.15812s