Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 60 additions & 23 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,77 @@
# Annotative VSCode Extension
# Annotative VS Code Extension

A productivity tool for code annotation - perfect for reviewing AI-generated code, collaborating on pull requests, and taking notes while coding.
Code annotation and review workflows for VS Code. Add comments to code selections, organize with custom tags, and export as Markdown.

## Product Positioning

- **Primary Use Case**: Review AI-generated code changes from Copilot, ChatGPT, Claude, etc.
- **Secondary Use Cases**: Code reviews, note-taking, team collaboration, documentation
- **Key Value**: Simple annotation with export to Markdown for AI chats and discussions
- **Primary Use Case**: Reviewing AI-generated code changes from Copilot, ChatGPT, Claude, etc.
- **Secondary Use Cases**: Code reviews, documentation, issue tracking, team collaboration
- **Key Value**: Simple annotation system with Markdown export optimized for AI tools and team discussions

## Development Guidelines

- Follow TypeScript best practices for VS Code extensions
- Use the VS Code Extension API for UI components and editor interactions
- Use VS Code Extension API for UI components and editor interactions
- Implement proper error handling and user feedback
- Store annotations in workspace-specific files
- Keep the UI simple and intuitive - lightweight input boxes instead of complex webviews
- Ensure export format is optimized for pasting into AI chats
- Focus on speed and simplicity over complex UI
- Store annotations per workspace in `.annotative/` folder or global state
- Keep UI simple - use native VS Code input boxes and quick picks
- Ensure export formats are optimized for AI tools
- Focus on speed and simplicity

## Architecture

### Core Structure

- Main extension file: `src/extension.ts`
- Annotation management: `src/annotationManager.ts`
- UI components: `src/ui/annotationProvider.ts` (sidebar tree view only)
- Types and interfaces: `src/types.ts`
- Command modules: `src/commands/` (organized by feature area)
- Core managers: `src/managers/` (AnnotationManager, etc.)
- Tag system: `src/tags/` (TagManager, validation, suggestions)
- UI components: `src/ui/` (webview sidebar, providers)
- Type definitions: `src/types.ts`
- Copilot integration: `src/copilotExporter.ts` and `src/copilotChatParticipant.ts`

### Command Organization

Commands are organized in separate modules:

- `annotation.ts` - Add, remove, edit, toggle, undo
- `export.ts` - Export to clipboard, document, AI formats
- `filters.ts` - Filter by status, tag, search, clear
- `bulk.ts` - Bulk operations (resolve all, delete all)
- `navigation.ts` - Navigate between annotations
- `sidebar.ts` - Sidebar view management, project storage
- `tags.ts` - Custom tag CRUD operations

## Key Features

1. Quick annotation with keyboard shortcuts and context menus
2. Simple input boxes for adding/editing annotations (no complex webviews)
3. Visual highlighting with editor decorations
4. Flexible tagging system (bug, performance, security, style, improvement, docs, question, ai-review)
5. Resolution tracking
6. Markdown export optimized for AI chats and team discussions
7. Sidebar tree view for organization
8. Persistent workspace storage
9. Template support for common annotation scenarios
10. Direct Copilot Chat integration (@annotative participant)
1. Quick annotation with keyboard shortcuts (Ctrl+Shift+A / Cmd+Shift+A)
2. Native VS Code input boxes for comments and tags
3. Visual highlighting with eight color options
4. Custom tag system - all tags are user-defined
5. Resolution tracking and status management
6. Markdown export optimized for AI tools
7. Webview sidebar with grouping and filtering
8. Project-based storage in `.annotative/` folder
9. Template support for common scenarios
10. GitHub Copilot Chat integration via @annotative participant

## Naming Conventions

Use exact command names and terminology from the extension:

- "Add Annotation" not "Create Annotation"
- "Toggle Status" not "Mark Resolved"
- "Remove" not "Delete" (in UI)
- "Export to Clipboard" not "Copy Export"
- "Filter by Status" and "Filter by Tag"
- "Storage Info" not "Show Storage"

## No Emojis

Do not use emojis in:

- Code or comments
- Documentation
- Commit messages
- User-facing text
- UI labels
8 changes: 4 additions & 4 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
. "$(dirname "$0")/_/husky.sh"

# Pre-commit hook: lint and format validation
echo "🔍 Running pre-commit checks..."
echo "Running pre-commit checks..."

# Run ESLint
echo "📝 Linting code..."
echo "Linting code..."
npm run lint --if-present
if [ $? -ne 0 ]; then
echo "Linting failed. Fix errors and try again."
echo "Linting failed. Fix errors and try again."
exit 1
fi

echo "Pre-commit checks passed\n"
echo "Pre-commit checks passed\n"
Loading