NoteFlo - Professional Workflow Extension for VS Code
Professional workflow solution: time tracking, notes, todos, and invoicing for consultants and freelancers


Built by Chandra Shettigar
🎯 Overview
NoteFlo is a VS Code extension designed for developers, tech consultants, freelancers, and tech professionals who need to seamlessly manage their workflow within their development environment. It combines time tracking, note-taking, todo management, and professional invoicing into a unified, efficient system.
Perfect for developers, consultants, and freelancers who want to:
🖼️ Screenshots
NoteFlo in action: command palette, meeting notes, sidebar, explorer, notes dashboard, and todos.
🌟 Key Features
⏱️ Smart Time Tracking
- One-click start/stop time tracking with descriptions
- Manual time entry for offline work, meetings, and travel
- Real-time status bar showing active timer and elapsed time
- Monthly file rotation for organized time entry storage
- Timezone-aware timestamps (configurable CST, EST, PST, etc.)
📝 Enhanced Note Management
- Meeting notes with structured templates, attendee tracking, and time integration
- Daily journals for reflection and planning with focus areas
- General notes with categorization and metadata
- Priority-based todos with visual indicators (🔴 Urgent, 🟠 High, 🟡 Normal, 🟢 Low)
- Smart categorization: General vs Project todos with automatic workspace detection
- Auto-generated notes index organized by type and recency
- Dynamic dashboard with analytics and quick access to recent items
- Foam-compatible wiki-linking and graph visualization
- Git-friendly filename conventions optimized for both readability and automation
💰 Professional Invoicing
- Dual-format generation: Markdown + PDF invoices
- Sequential invoice numbering (INV-2025-001, INV-2025-002...)
- Comprehensive invoice details: business info, client details, line items, tax calculations
- Multi-page PDF support with automatic page breaks
- Configurable currency and tax rates (default INR, supports any currency)
- Professional PDF layout with proper spacing and formatting
🎯 Integrated Workflow
- Sidebar integration for quick access to all features
- Command palette commands for keyboard-driven workflow
- Smart time tracking prompts when creating meeting notes
- Dynamic dashboard with real-time analytics and quick actions
- Auto-updating indexes for seamless organization
- Cross-platform compatibility with consistent behavior
🚀 Installation
From VS Code Marketplace (Recommended)
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X
/ Cmd+Shift+X
)
- Search for "NoteFlo" by Devteds
- Click Install
- Open a workspace folder (required for NoteFlo functionality)
Or install via Command Palette:
- Open Command Palette (
Ctrl+Shift+P
/ Cmd+Shift+P
)
- Type:
ext install devteds.noteflo
- Press Enter
Or install via terminal:
code --install-extension devteds.noteflo
→ Install from VS Code Marketplace
From VSIX Package (Development)
- Download the latest
noteflo-1.x.y.vsix
file
- Open VS Code
- Run:
code --install-extension noteflo-1.x.y.vsix
- Reload VS Code window
- Open a workspace folder (required for NoteFlo functionality)
Initial Setup
Configuration is completely optional! NoteFlo works out-of-the-box for note-taking and todos. Only configure if you need specific settings or invoicing features.
- Open Command Palette (
Ctrl+Shift+P
/ Cmd+Shift+P
)
- Run "NoteFlo: Configure NoteFlo"
- Choose your use case:
- Consulting/Freelancing: Full setup with business info, client details, and billing (for invoicing)
- Note-taking Only: Just timezone configuration
- Follow the guided prompts based on your selection
Note: All features work immediately without configuration. Business setup is only needed for professional invoicing.
Configuration File
NoteFlo uses a single unified configuration file:
.noteflo/config.json
- All settings in one place (git-ignored)
For Note-taking Only:
{
"directories": {
"meeting_notes": "docs/meeting-notes",
"daily_notes": "docs/daily-notes",
"general_notes": "docs/notes",
"dashboard": "docs/dashboard"
},
"files": {
"main_dashboard": "docs/index.md"
},
"settings": {
"auto_refresh_dashboard": true,
"default_note_template": "standard",
"timezone": "America/Chicago"
}
}
For Consulting/Freelancing (includes everything above plus):
{
"directories": { "...": "..." },
"files": { "...": "..." },
"settings": { "...": "..." },
"business": {
"name": "Your Business Name",
"address": "Your Address",
"email": "your@email.com",
"phone": "123-456-7890",
"website": "yourwebsite.com"
},
"client": {
"name": "Client Name",
"contact": "Client Contact Person",
"email": "client@email.com"
},
"billing": {
"hourlyRate": 150,
"currency": "USD",
"taxRate": 0,
"paymentInstructions": "Payment due within 30 days...",
"invoiceNotes": "Thank you for your business!"
}
}
Configuration Levels:
- No config: Notes, todos, and basic time tracking work immediately
- Timezone only: Better timestamp formatting for your location
- Full consulting: Professional invoicing with your business branding
📖 Quick Start Guide
⏱️ Time Tracking
- Start Tracking: Open Command Palette (
Ctrl+Shift+P
/ Cmd+Shift+P
) → NoteFlo: Start Time Tracking
- Enter Description: Describe what you're working on
- Check Status: Status bar shows active timer and elapsed time
- Stop Tracking: Command Palette →
NoteFlo: Stop Time Tracking
- Manual Entry: Command Palette →
NoteFlo: Enter Time (Offline Work)
for manual time entries
📝 Note Creation
Meeting Notes:
- Command Palette (
Ctrl+Shift+P
/ Cmd+Shift+P
) → NoteFlo: New Meeting Note
- Enter meeting type, description, and attendees
- Get rich templates with agenda, notes, decisions, and action items
- Automatic time tracking integration
Daily Journals:
- Command Palette →
NoteFlo: Create Daily Journal
- Automatic date-based naming
- Structured templates with focus areas, accomplishments, and reflections
- Opens existing journal if already created for the day
General Notes:
- Command Palette →
NoteFlo: Create New Note
- Choose from categories: Development, Research, Ideas, Documentation, etc.
- Rich metadata and linking support
Priority-Based Todos:
- Command Palette →
NoteFlo: Quick Todo
- Categories:
- General: Personal tasks and reminders →
general-todos.md
- Project: Current workspace tasks →
project-todos.md
- Priority Levels:
- 🔴 Urgent: Needs immediate attention
- 🟠 High: Important and time-sensitive
- 🟡 Normal: Regular priority
- 🟢 Low: Can be done when time permits
- Automatic organization by priority within each file
💰 Invoice Generation
- Generate Invoice: Command Palette →
NoteFlo: Generate Invoice
and select date range
- Choose Format: Markdown and/or PDF generation
- Professional Output: Sequential numbering and comprehensive details
- View History: Command Palette →
NoteFlo: View Invoices
to browse past invoices
🗂️ File Organization
NoteFlo creates a clean, Git-friendly file structure:
your-project/
├── .noteflo/
│ ├── config.json # Your configuration (git-tracked)
│ └── config.template.json # Template file (git-tracked)
└── docs/
├── time-tracking/
│ ├── time_entries_2025-01.json # Monthly time entries
│ └── active_session.json # Current session (git-ignored)
├── index.md # Dynamic dashboard (auto-generated)
├── meeting-notes/ # Meeting notes (git-tracked)
│ └── client-discussion-2025-07-28.md
├── daily-notes/ # Daily journals (git-tracked)
│ └── 2025-07-28.md
├── notes/ # General notes (git-tracked)
│ ├── index.md # Auto-generated index
│ └── project-idea-2025-07-28.md
├── project-planning/ # Todo management (git-tracked)
│ ├── general-todos.md # Personal todos
│ └── project-todos.md # Workspace-specific todos
├── client-invoices/ # Generated invoices (git-tracked)
└── dashboard/ # Dashboard components (auto-generated)
🎮 Command Palette Reference
Access all NoteFlo features through the Command Palette (Ctrl+Shift+P
/ Cmd+Shift+P
):
📝 Note Management
NoteFlo: New Meeting Note
- Create structured meeting note with templates
NoteFlo: Create Daily Journal
- Create or open today's journal entry
NoteFlo: Create New Note
- Create categorized general note
NoteFlo: Quick Todo
- Add priority-based todo (General/Project categories)
NoteFlo: Update Notes Index
- Refresh notes organization
NoteFlo: Open Dashboard
- Access dynamic dashboard
NoteFlo: Refresh Dashboard
- Update dashboard analytics
⏱️ Time Tracking
NoteFlo: Start Time Tracking
- Begin tracking with description
NoteFlo: Stop Time Tracking
- End current session
NoteFlo: Time Status
- Show current tracking status
NoteFlo: Enter Time (Offline Work)
- Manual time entry for offline work
💰 Invoicing
NoteFlo: Generate Invoice
- Create professional invoices
NoteFlo: View Invoices
- Browse invoice history
⚙️ Configuration
NoteFlo: Configure NoteFlo
- Interactive setup wizard (for invoicing)
NoteFlo: Edit Configuration
- Open config file for editing (if exists)
NoteFlo: Test Configuration
- Validate current configuration
💡 Pro Tip: Type "NoteFlo" in the Command Palette to see all available commands!
📋 Todo Management System
NoteFlo includes a sophisticated priority-based todo system designed for professional workflows:
Categories
- General Todos (
general-todos.md
): Personal tasks, reminders, and non-project work
- Project Todos (
project-todos.md
): Tasks specific to your current workspace
Priority Levels
Each todo is assigned a visual priority level:
- 🔴 Urgent: Critical issues requiring immediate attention
- 🟠 High: Important tasks that are time-sensitive
- 🟡 Normal: Standard priority items for regular workflow
- 🟢 Low: Tasks that can be completed when time permits
File Structure
# Project Todo List
## Active Tasks
### Urgent Priority
- [ ] **[Urgent]** 🔴 Fix critical production bug *(Added: July 28, 2025 at 10:30 AM)*
### High Priority
- [ ] **[High]** 🟠 Complete client review by EOD *(Added: July 28, 2025 at 9:15 AM)*
### Normal Priority
- [ ] **[Normal]** 🟡 Update project documentation *(Added: July 28, 2025 at 8:45 AM)*
### Low Priority
- [ ] **[Low]** 🟢 Optimize build scripts *(Added: July 28, 2025 at 8:00 AM)*
## Completed Tasks
- [x] **[High]** 🟠 Deploy hotfix to staging *(Completed: July 27, 2025)*
---
*Priority levels: 🔴 Urgent | 🟠 High | 🟡 Normal | 🟢 Low*
Smart Organization
- Todos are automatically sorted by priority within each category
- Timestamps include timezone-aware creation dates
- Completed tasks can be moved to the "Completed Tasks" section
- Dashboard integration shows todo counts and recent additions
⚙️ Configuration System
NoteFlo has two optional configuration systems depending on your needs:
🎯 Quick Start (No Configuration)
- Notes, todos, journals: Work immediately without any setup
- Basic time tracking: Start/stop tracking works out-of-the-box
- Default structure: Uses sensible defaults for file organization
💼 Business Configuration (For Consultants/Freelancers)
When you need it: Time tracking with invoicing, professional billing
Setup: Run NoteFlo: Configure NoteFlo
File: .noteflo/config.json
(git-ignored)
{
"business": {
"name": "Your Consulting Business",
"address": "123 Business St, City, State 12345",
"email": "your@business.com",
"phone": "555-123-4567",
"website": "www.yourbusiness.com"
},
"client": {
"name": "Client Company Name",
"contact": "Client Contact Person",
"address": "Client Address",
"email": "client@company.com"
},
"billing": {
"hourlyRate": 150,
"currency": "USD",
"taxRate": 0,
"paymentInstructions": "Payment due within 30 days. Wire transfer details included.",
"invoiceNotes": "Thank you for your business!"
},
"preferences": {
"timezone": "America/New_York"
}
}
📁 Directory Configuration (Optional Customization)
When you need it: Custom file organization, team consistency
Setup: Manual creation or future config command
File: .noteflo/config.json
(optional)
{
"directories": {
"meeting_notes": "meetings",
"daily_notes": "journals",
"general_notes": "notes",
"dashboard": "dashboard"
},
"files": {
"main_dashboard": "overview.md"
},
"settings": {
"auto_refresh_dashboard": true,
"default_note_template": "detailed",
"timezone": "America/Chicago"
}
}
Configuration Usage Patterns
📝 Notes & Todos Only
- No configuration needed
- Uses default directory structure
- All note features work immediately
⏱️ Time Tracking Only
- No configuration needed for basic tracking
- Manual time entries and status work
- No invoicing capabilities
💰 Professional Consulting
- Business configuration required
- Enables invoice generation
- Professional PDF output with your branding
- Client billing and time tracking integration
Configuration Commands
- Create Business Config:
NoteFlo: Configure NoteFlo
- Sets up invoicing
- Edit Configuration:
NoteFlo: Edit Configuration
- Opens config file (if exists)
- Test Configuration:
NoteFlo: Test Configuration
- Validates current settings
🌐 Timezone Support
NoteFlo supports configurable timezones for global teams:
- Configurable during setup: America/Chicago, America/New_York, Europe/London, etc.
- All timestamps use your business timezone
- Timezone validation with helpful error messages
- Multiple date formats for different contexts
📊 Dynamic Dashboard
The NoteFlo dashboard provides a real-time overview of your workspace activity:
Features
- Recent Activity: Latest meeting notes, journal entries, and general notes
- Todo Analytics: Count by priority level and category
- Time Tracking Summary: Current session status and recent entries
- Quick Actions: Fast access to common commands
- File Statistics: Overview of workspace documentation
Auto-Updates
- Refreshes automatically when you create new content
- Smart caching prevents unnecessary regeneration
- Manual refresh available via
Cmd+K R
Dashboard Structure
# NoteFlo Dashboard - Project Name
*Last updated: July 28, 2025 at 2:30 PM (America/Chicago)*
## 📊 Quick Stats
- **Active Todos**: 12 (🔴 2 urgent, 🟠 4 high, 🟡 5 normal, 🟢 1 low)
- **This Week**: 3 meetings, 5 journal entries, 8 notes
- **Time Tracking**: Currently active (2h 15m elapsed)
## 🎯 Quick Actions
- [Create Meeting Note](https://github.com/devteds/noteflo-vscode-extension/blob/HEAD/command:noteflo.newMeetingNote)
- [Quick Todo](https://github.com/devteds/noteflo-vscode-extension/blob/HEAD/command:noteflo.quickTodo)
- [Start Time Tracking](https://github.com/devteds/noteflo-vscode-extension/blob/HEAD/command:noteflo.startTimeTracking)
- [Generate Invoice](https://github.com/devteds/noteflo-vscode-extension/blob/HEAD/command:noteflo.generateInvoice)
## 📝 Recent Activity
### Meeting Notes (Last 5)
- [Client Review - July 28](https://github.com/devteds/noteflo-vscode-extension/blob/HEAD/docs/meeting-notes/client-review-2025-07-28.md)
- [Sprint Planning - July 27](https://github.com/devteds/noteflo-vscode-extension/blob/HEAD/docs/meeting-notes/sprint-planning-2025-07-27.md)
### Daily Journals (Last 5)
- [July 28, 2025](https://github.com/devteds/noteflo-vscode-extension/blob/HEAD/docs/daily-notes/2025-07-28.md)
- [July 27, 2025](https://github.com/devteds/noteflo-vscode-extension/blob/HEAD/docs/daily-notes/2025-07-27.md)
### General Notes (Last 5)
- [API Design Ideas - July 28](https://github.com/devteds/noteflo-vscode-extension/blob/HEAD/docs/notes/api-design-ideas-2025-07-28.md)
---
*Dashboard auto-updates when you create new content*
💼 Perfect For
- Consultants: Track client work and generate professional invoices
- Freelancers: Manage multiple projects with organized time tracking
- Developers: Document meetings and track feature development time
- Project Managers: Maintain organized notes and todo lists
- Remote Workers: Keep structured records of daily activities
🛠️ System Requirements
- VS Code: 1.60+
- Node.js: 20+ (for development)
- Operating System: Windows, macOS, Linux
- Workspace: Requires an open folder/workspace for functionality
📋 Feature Overview
📝 Core Features
- Meeting Notes: Structured templates with attendee tracking and time integration
- Daily Journals: Reflection and planning with focus areas and accomplishments
- General Notes: Categorized notes with rich metadata and linking
- Priority Todos: Visual priority system (🔴🟠🟡🟢) with General/Project categories
- Dynamic Dashboard: Real-time analytics and quick access to recent activity
⏱️ Time Management
- Smart Tracking: One-click start/stop with description prompts
- Manual Entries: Offline work, meetings, and travel time logging
- Status Integration: Real-time timer in VS Code status bar
- Monthly Organization: Automatic file rotation for organized storage
💰 Professional Invoicing (Optional - requires configuration)
- Dual Format: Generate both Markdown and PDF invoices
- Professional Layout: Sequential numbering and comprehensive billing details
- Business Branding: Include your business info, logo, and custom payment terms
- Time Integration: Automatic calculation from tracked hours
🔧 Workspace Integration
- Command Palette: Access all features through VS Code's command system
- Sidebar Panel: Quick overview and actions in the Explorer
- File Organization: Git-friendly structure with sensible defaults
- Cross-Platform: Consistent behavior on Windows, macOS, and Linux
🔧 Troubleshooting
Common Issues
Commands not found: Ensure you have a workspace folder open. NoteFlo requires an active workspace.
Sidebar shows "no data provider": Restart VS Code or run "Developer: Reload Window"
Time tracking not working: Check that you have proper file permissions in the workspace directory.
PDF generation fails: Ensure you have sufficient disk space and write permissions.
Configuration not loading:
- For business config: Check that
.noteflo/config.json
exists and has valid JSON syntax
- For invoicing issues: Run "Configure NoteFlo" to set up business information
- For directory issues: NoteFlo uses sensible defaults if no directory config exists
Invoice generation fails:
- Ensure business configuration is complete (run "Configure NoteFlo")
- Check that business name, email, client name, and hourly rate are set
- Verify timezone setting is valid (e.g., "America/Chicago")
Dashboard not updating: Try "Refresh Dashboard" command or check if auto-refresh is enabled in settings.
Todos not organized properly: Ensure you're using the latest version and that priority levels are being selected during creation.
Notes and todos work but invoicing doesn't: Business configuration is required for invoicing. Run "NoteFlo: Configure NoteFlo" to set up billing information.
- Large workspaces: NoteFlo indexes files efficiently, but very large note collections may slow dashboard updates
- Git integration: Use
.gitignore
entries for private configuration files (automatically handled)
- File organization: Keep notes in recommended directory structure for best performance
- Regular cleanup: Archive old completed todos and outdated notes periodically
Configuration Validation
For Business Configuration:
Use NoteFlo: Test Configuration
to check:
- Business information is complete
- Client details are valid
- Billing rates and currency are set
- Timezone format is correct (e.g., "America/Chicago")
For Directory Configuration:
- Directory paths are valid and writable
- File paths are accessible
- JSON syntax is valid
- Default fallbacks work if config is missing
No Configuration Needed:
- Notes, todos, and journals work immediately
- Time tracking (start/stop) works without setup
- Dashboard updates automatically
Getting Help
- Check the DEVELOPMENT.md for technical details
- Review the CHANGELOG.md for recent updates
- Open an issue for bugs or feature requests
📄 License
MIT License - see LICENSE file for details.
👨💻 Author & Organization
Created by: Chandra Shettigar
Organization: Devteds
Website: devteds.com
Contact: chandra@devteds.com
Chandra is a Senior Software Engineer working across multiple technologies and programming languages, with a current focus on AI exploration and innovation.
🎓 Learn More
Interested in DevOps, Platform Engineering, and Cloud technologies? Check out:
NoteFlo - Professional workflow made simple. Built for developers, by developers. 🚀