Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>TodoeyNew to Visual Studio Code? Get it now.
Todoey

Todoey

craigharman

|
1 install
| (0) | Free
Lightweight task management for developers with semantic-release integration
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Todoey

A lightweight VS Code extension for task management designed specifically for developers working on small projects. Provides frictionless task management through a TODO.md file with seamless semantic-release integration for changelog generation and versioning.

Features

  • TODO.md-based task management - Human-readable, git-friendly task format
  • Work-in-Progress (WIP) tracking - Focus on one task at a time
  • Rich metadata support - Tags, mentions, estimates, due dates, and ticket IDs
  • Semantic-release integration - Automated conventional commits and changelog generation
  • VS Code native integration - Tree view, commands, and status bar
  • CI/CD compatible
  • Track unreleased tasks - Generate a list of completed but unreleased tasks directly from VS Code

CI/CD Setup

The project includes automated semantic-release integration for version management and changelog generation.

  1. Required CI/CD Variables:

    GitLab (Settings → CI/CD → Variables):

    • GITLAB_TOKEN: Personal Access Token with write_repository scope
    • CI_PUSH_TOKEN: Same token (for automated version commits)

    GitHub (Settings → Secrets and variables → Actions):

    • GITHUB_TOKEN: Personal Access Token with repo scope
    • GH_TOKEN: Same token (for automated version commits)
  2. Create Personal Access Token:

    GitLab:

    • Go to GitLab → Preferences → Access Tokens
    • Create token with write_repository and read_repository scopes
    • Add to project CI/CD variables (make sure to check "Mask variable")

    GitHub:

    • Go to GitHub → Settings → Developer settings → Personal access tokens
    • Create token with repo scope (full repository access)
    • Add to repository secrets

    VS Code Marketplace (for VSCE_TOKEN):

    • Go to https://marketplace.visualstudio.com/manage
    • Create Personal Access Token with Marketplace (manage) scope

    Open VSX Registry (for OPEN_VSX_TOKEN):

    • Go to https://open-vsx.org/
    • Sign in → User Settings → Access Tokens
    • Create new token
  3. Automated Release Process:

    • Push conventional commits to main branch
    • CI automatically runs tests and build
    • Semantic-release analyzes commits and:
      • Updates package.json version
      • Generates CHANGELOG.md entries
      • Creates GitLab release with tags
      • Commits version changes back to repository

Conventional Commit Types

  • feat: → Minor version bump (new features)
  • fix: → Patch version bump (bug fixes)
  • feat!: or BREAKING CHANGE: → Major version bump
  • chore:, docs:, test: → No version bump

Development

Prerequisites

  • Node.js 18+
  • npm (recommended)

Setup

# Install dependencies
npm install

# Start development with watch mode
npm run dev

# Build extension
npm run build

# Run unit tests
npm test

# Run manual tests (for development/debugging)
npm run test:manual

# Package extension
npm run package

Testing

The project includes comprehensive testing at multiple levels:

Unit Tests

Automated tests using Vitest for core functionality:

# Run all unit tests
npm test

# Run tests in watch mode
npm run test:watch

# Run integration tests (VS Code API)
npm run test:integration

Test Coverage:

  • Parser Tests (tests/unit/parser/todoParser.test.ts) - 29 tests covering:

    • TODO.md parsing and serialization
    • Task metadata extraction (tags, mentions, estimates, due dates)
    • WIP task detection and management
    • Nested task handling
    • Round-trip parsing validation
    • Edge cases and error handling
  • Core Tests (tests/unit/core/taskManager.test.ts) - Task management logic

  • Git Tests (tests/unit/git/gitManager.test.ts) - Git integration and conventional commits

Manual Tests

Interactive tests for development and validation located in tests/manual/:

# Test parser with example TODO.md
npm run test:manual:parser

# Interactive parser testing
npm run test:manual:interactive

Manual Test Files:

  • test-parser.ts - Comprehensive parser validation showing:

    • Parsing results with detailed task breakdown
    • Metadata extraction (tags, mentions, estimates, due dates)
    • Serialization and round-trip testing
    • Statistics and WIP task detection
  • interactive-test.ts - Live analysis tool showing:

    • Real-time TODO.md analysis
    • Task counts by section and completion status
    • Tag usage statistics
    • Upcoming due dates
    • Current WIP task
  • example-TODO.md - Sample TODO.md file with rich metadata examples for testing

Test Structure

tests/
├── unit/                     # Automated unit tests (included in npm test)
│   ├── parser/
│   ├── core/
│   └── git/
├── integration/              # VS Code API integration tests
└── manual/                   # Manual testing tools (excluded from build)
    ├── test-parser.ts        # Parser validation tool
    ├── interactive-test.ts   # Live analysis tool
    └── example-TODO.md       # Sample TODO.md for testing

Note: Manual tests are excluded from TypeScript compilation and automated test runs but provide valuable development and debugging tools.

Project Structure

src/
├── extension.ts              # Main extension entry point
├── parser/
│   └── todoParser.ts         # TODO.md parsing and serialization
├── core/
│   └── taskManager.ts        # Task state management and WIP logic
├── git/
│   └── gitManager.ts         # Git operations and conventional commits
├── semantic/
│   └── semanticManager.ts    # Semantic-release configuration
├── ui/
│   ├── treeProvider.ts       # VS Code tree view provider
│   └── statusBar.ts          # Status bar integration
└── types/
    └── index.ts              # Core interfaces and type definitions

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft