DevNotes is a command-line tool for developers to efficiently manage development notes, tasks, and project documentation. It enables organizing work, tracking progress of activities, and maintaining structured documentation directly from the development environment.
Project description
DevNotes
A tool for managing development notes and project tasks.
Features
- Project task management
- Code structure analysis
- Mermaid diagram generation
- Function relationship visualization
- Task extraction from code comments
- Trello integration for task synchronization
Installation
pip install devnotes
To use the diagram rendering functionality, you need to install mermaid-cli:
npm install -g @mermaid-js/mermaid-cli
Usage
Initialization
# Initialize a new project with the current directory name
# Initialize a new project with the current directory name
devnotes init
# Initialize a new project with a specific name
devnotes init --name "My Awesome Project"
# Update the project name later
devnotes set-project-name "New Project Name"
# Update settings with latest improvements
devnotes update
# Initialize a new project with a specific name
devnotes init --name "My Awesome Project"
Task Management
# Add a new task interactively
devnotes task-add-interactive
# List all tasks
devnotes task-list
# Edit an existing task
devnotes task-edit
# Mark a task as done
devnotes task-done 001
Code Analysis
# Scan the project
devnotes scan
Task Extraction from Code Comments
You can define tasks directly in your code using special comment tags:
# Simple task
#TASK: Implement error handling
# Task with tags
#TASK(bug,high-priority): Fix memory leak in this function
# Task with metadata
#TASK(feature)[due:2023-12-31][priority:high][status:in_progress]: Add new feature
# DESCRIPTION: This is a detailed description of the task
# It can span multiple lines as long as each line starts with #
When you run devnotes scan, these comments will be automatically converted to tasks in your project.
Supported metadata fields:
due: Due date for the task (e.g.,2023-12-31)priority: Priority level (e.g.,high,medium,low)status: Current status (e.g.,todo,in_progress,done)
You can also add a multi-line description by adding comment lines starting with # DESCRIPTION: followed by additional comment lines.
Diagrams
# Generate a task diagram
devnotes diagram tasks
# Generate a call graph
devnotes diagram callgraph
# Generate a hierarchy diagram
devnotes diagram hierarchy
# Generate a diagram and render it
devnotes diagram tasks --render
# Generate a diagram, render it and open it in the browser
devnotes diagram callgraph --open
# Render a Mermaid diagram to SVG
devnotes render --path .project/call_graph.mmd
Configuration
Settings are stored in .project/settings.yaml. You can update the settings with:
devnotes update
Configuration Options
The settings.yaml file supports the following configuration options:
# Task status options
statuses: ["todo", "in_progress", "done", "blocked"]
default_status: "todo"
default_tags: []
# Diagram settings
diagram:
output: "project_structure.mmd"
style: "graph TD"
# Scan settings
scan:
exclude: [".project", ".venv"]
exclude_stdlib_calls: true
Status Colors
You can customize the colors for each status by adding a status_colors section:
status_colors:
todo: "yellow"
in_progress: "cyan"
done: "green"
blocked: "red"
Trello Integration
DevNotes supports synchronizing tasks with Trello:
# Configure Trello integration (interactive mode)
devnotes trello setup
# Quick setup with automatic list mapping
devnotes trello setup --quick
# Create a new Trello board with appropriate lists and custom fields and custom fields
devnotes trello create-board
# Sync tasks bidirectionally (both to and from Trello)
devnotes trello sync
# Sync only from local to Trello
devnotes trello sync --direction=to
# Sync only from Trello to local
devnotes trello sync --direction=from
# View integration status
devnotes trello status
To use this feature, you need to:
- Obtain an API key and token from Trello (https://trello.com/app-key)
- Choose one of the following configuration methods:
- Method 1 (recommended for new users): Run
devnotes trello create-boardto create a new Trello board with all the necessary lists already correctly configured - Method 2: Run
devnotes trello setup --quickfor quick setup with automatic mapping of existing lists - Method 3: Run
devnotes trello setupfor detailed manual configuration
- Method 1 (recommended for new users): Run
- Follow the on-screen instructions
Custom Fields
When you create a new board with devnotes trello create-board, the following custom fields are automatically created:
- Project: Shows the project name (set during initialization with
devnotes init) - File: Shows the file path where the task is located
- Function/Class: Shows the function or class name related to the task
- ID DevNotes: Shows the DevNotes task ID for easy reference
These custom fields make it easier to identify and organize tasks in Trello, especially when you're using a single board for multiple projects.
Custom Fields
When you create a new board with devnotes trello create-board, the following custom fields are automatically created:
- Project: Shows the project name (set during initialization with
devnotes init) - File: Shows the file path where the task is located
- Function/Class: Shows the function or class name related to the task
- ID DevNotes: Shows the DevNotes task ID for easy reference
These custom fields make it easier to identify and organize tasks in Trello, especially when you're using a single board for multiple projects.
The quick setup mode (--quick) attempts to automatically map Trello lists to task statuses based on common names (e.g., "To Do" → "todo", "In Progress" → "in_progress", etc.). If it can't find a match, it will ask you to manually select the appropriate list.
The create-board command is the easiest way to get started, as it automatically creates a new Trello board with all the necessary lists and custom fields already correctly configured for DevNotes.
Requirements
- Python 3.8+
- Mermaid CLI (optional, for diagram rendering)
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devnotes-0.1.3.tar.gz.
File metadata
- Download URL: devnotes-0.1.3.tar.gz
- Upload date:
- Size: 36.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be30c8b06729569e9e0dfd5c392f9903c577479f943eee2f9f27a05009ce3e81
|
|
| MD5 |
4017f017118bcf8bccdb81ff137d6bc6
|
|
| BLAKE2b-256 |
db89d9befdd0ac7cf4b21f1219655b9a89f219fce23f5f19014f5d7710c1ae47
|
File details
Details for the file devnotes-0.1.3-py3-none-any.whl.
File metadata
- Download URL: devnotes-0.1.3-py3-none-any.whl
- Upload date:
- Size: 25.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0ebccf9ca1ad2607598da36e84e1073a074791257bb2a7180e2fc7197ba8524
|
|
| MD5 |
c9710b00aac043853a2a0b1563ef153a
|
|
| BLAKE2b-256 |
aa261669abbed4284e0df0996f38c60effb125bb4792d1b992a5d7fd6ee9a0a1
|