Skip to content
Closed
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
254 changes: 254 additions & 0 deletions .cursor/INDEX.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,254 @@
# Documentation Index

## 📚 Complete Documentation Structure

This repository now has comprehensive Cursor AI documentation organized in the `.cursor/` directory.

### 🎯 Entry Point
- **`.cursorrules`** (root) - Main entry point for Cursor AI, points to all detailed docs

### 📖 Core Documentation Files

#### Getting Started (2 files)
1. **`overview.md`** - Project overview, tech stack, repository structure
2. **`setup.md`** - Installation, prerequisites, environment setup

#### Development Guides (3 files)
3. **`development-workflow.md`** - Daily development, building, debugging
4. **`component-patterns.md`** - Creating components, file structure, design patterns
5. **`state-management.md`** - MobX store patterns, reactive state management

#### Testing Guides (2 files)
6. **`unit-testing.md`** - Jest unit testing with React Testing Library
7. **`e2e-testing.md`** - Playwright E2E testing, multi-user sessions

#### Technical References (2 files)
8. **`build-and-webpack.md`** - Webpack config, build system, loaders
9. **`code-standards.md`** - TypeScript, React, styling, git conventions

#### Quick References (2 files)
10. **`commands-reference.md`** - All commands in one place
11. **`troubleshooting.md`** - Common issues and solutions

#### Meta (2 files)
12. **`README.md`** - Documentation structure and how to use it
13. **`INDEX.md`** - This file - complete overview

---

## 📊 Documentation Statistics

- **Total Files**: 13 markdown files
- **Total Lines**: ~5,500+ lines of documentation
- **Coverage**: Complete coverage of development workflow, testing, and patterns

### By Category:
- Getting Started: 2 files
- Development: 3 files
- Testing: 2 files
- Technical: 2 files
- Reference: 2 files
- Meta: 2 files

---

## 🚀 Quick Start for New Team Members

### Day 1: Setup
1. Read `.cursorrules` (2 min)
2. Read `.cursor/overview.md` (5 min)
3. Follow `.cursor/setup.md` (15 min)
4. Keep `.cursor/commands-reference.md` handy

### Day 2-5: Learning
5. Study `.cursor/component-patterns.md` when creating components
6. Reference `.cursor/state-management.md` when working with store
7. Read `.cursor/development-workflow.md` for daily tasks

### Ongoing: Reference
8. Use `.cursor/commands-reference.md` for quick lookups
9. Check `.cursor/troubleshooting.md` when stuck
10. Follow `.cursor/code-standards.md` for consistency

---

## 📋 What Each File Contains

### `.cursorrules`
- Project overview
- Quick reference for Cursor AI
- Pointers to detailed documentation
- Common pitfalls and best practices

### Overview & Setup
- **overview.md**: Architecture, packages, tech stack, structure
- **setup.md**: Prerequisites, installation, environment, verification

### Development
- **development-workflow.md**: Build commands, development flow, debugging
- **component-patterns.md**: File structure, component code, exports, examples
- **state-management.md**: MobX patterns, store singleton, observers

### Testing
- **unit-testing.md**: Jest setup, React Testing Library, mocking, patterns
- **e2e-testing.md**: Playwright config, test utilities, multi-user testing

### Technical
- **build-and-webpack.md**: Webpack config, loaders, plugins, optimization
- **code-standards.md**: TypeScript, React, styling, git commit conventions

### Reference
- **commands-reference.md**: Every command you need, organized by task
- **troubleshooting.md**: Common issues with step-by-step solutions

### Meta
- **README.md**: How to use the documentation, contribution guidelines
- **INDEX.md**: This file - complete overview

---

## �� Documentation Features

### ✅ What's Included
- [x] Complete project setup instructions
- [x] Component creation patterns with examples
- [x] State management with MobX
- [x] Unit testing patterns and examples
- [x] E2E testing with Playwright
- [x] Build system and webpack configuration
- [x] Code standards and conventions
- [x] Quick command reference
- [x] Comprehensive troubleshooting guide
- [x] Best practices and common pitfalls

### 🎨 Documentation Style
- Clear headings and structure
- Code examples with syntax highlighting
- ✅/❌ do's and don'ts
- Step-by-step instructions
- Common issues and solutions
- Cross-references between docs

---

## 🔍 How to Find Information

### By Topic:
- **Setup & Installation** → `setup.md`
- **Daily Development** → `development-workflow.md`, `commands-reference.md`
- **Creating Components** → `component-patterns.md`
- **Working with Store** → `state-management.md`
- **Writing Tests** → `unit-testing.md`, `e2e-testing.md`
- **Build Issues** → `build-and-webpack.md`, `troubleshooting.md`
- **Code Style** → `code-standards.md`
- **Stuck/Debugging** → `troubleshooting.md`

### By Task:
- **"I need to create a new component"** → `component-patterns.md`
- **"Build is failing"** → `troubleshooting.md` → `build-and-webpack.md`
- **"How do I run tests?"** → `commands-reference.md` → `unit-testing.md`
- **"What's the store pattern?"** → `state-management.md`
- **"How do I start developing?"** → `setup.md` → `development-workflow.md`

---

## 💡 Tips for Using This Documentation

### For Cursor AI:
1. **Start with `.cursorrules`** - Understand project basics
2. **Reference specific docs** - Point users to detailed files
3. **Follow patterns** - Use examples as templates
4. **Check standards** - Ensure suggestions match conventions

### For Developers:
1. **Bookmark in browser** - Keep docs open in tabs
2. **Search across files** - Use IDE search (Cmd/Ctrl+Shift+F)
3. **Keep updated** - Add new patterns as they emerge
4. **Share knowledge** - Update docs when you solve issues

### For Team Leads:
1. **Onboarding** - Share with new team members
2. **Code reviews** - Reference standards from docs
3. **Updates** - Keep docs in sync with code changes
4. **Improvements** - Add new sections as needed

---

## 🔄 Keeping Documentation Updated

### When Code Changes:
- Update relevant `.cursor/*.md` files
- Add new patterns to `component-patterns.md`
- Document new issues in `troubleshooting.md`
- Update commands in `commands-reference.md`

### When Dependencies Update:
- Update versions in `overview.md`
- Verify setup instructions in `setup.md`
- Test and update `build-and-webpack.md`

### When Processes Change:
- Update `development-workflow.md`
- Revise testing docs if frameworks change
- Update `.cursorrules` if structure changes

---

## 📈 Documentation Coverage

### Fully Documented ✅
- Project setup and installation
- Development workflow and commands
- Component creation patterns
- State management with MobX
- Unit testing with Jest
- E2E testing with Playwright
- Build system and webpack
- Code standards and conventions
- Common troubleshooting

### Future Additions 📝
- CI/CD pipeline details
- Release and deployment process
- Performance optimization guide
- API integration patterns
- Migration guides for major updates
- Architecture decision records (ADRs)

---

## 🤝 Contributing to Documentation

Found something missing or incorrect?

1. Edit the relevant `.cursor/*.md` file
2. Follow existing format and style
3. Add examples and code snippets
4. Update cross-references if needed
5. Test commands and examples
6. Commit with descriptive message

---

## 📞 Support

### Resources:
- **GitHub**: https://github.com/webex/widgets
- **NPM**: https://www.npmjs.com/package/@webex/cc-widgets
- **Issues**: https://github.com/webex/widgets/issues
- **Contributing**: `packages/contact-center/CONTRIBUTING.md`

### When Stuck:
1. Check `.cursor/troubleshooting.md`
2. Search documentation with IDE
3. Review test files for examples
4. Ask team lead
5. Create GitHub issue

---

**Documentation Created**: November 2025
**Current Version**: 1.28.0-ccwidgets.122
**Maintained By**: Webex Contact Center Widgets Team

**Status**: ✅ Complete and ready to use!
Loading