Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
80e66a0
plan
JoeKarow Oct 9, 2025
bc81ad0
feat: add root UV workspace configuration
JoeKarow Oct 9, 2025
d8b864b
feat: create core package structure and move files
JoeKarow Oct 9, 2025
1f1b115
feat: create plugin packages (analyzers, tokenizers, testing)
JoeKarow Oct 9, 2025
697cbf6
refactor: update all imports to new package structure
JoeKarow Oct 9, 2025
df0dc18
feat: update PyInstaller spec for monorepo with dynamic plugin discovery
JoeKarow Oct 9, 2025
e8b7297
feat: update CI/CD and development tooling for UV monorepo
JoeKarow Oct 9, 2025
7aba8b4
fix: resolve circular imports and validate monorepo functionality
JoeKarow Oct 9, 2025
e55e809
feat: complete monorepo cleanup and tokenizer core migration
JoeKarow Oct 9, 2025
c198f1d
fix: pin dependency versions to match pre-reorganization state
JoeKarow Oct 10, 2025
009c123
cleanup
JoeKarow Oct 10, 2025
2397ee3
docs: update all documentation for UV monorepo structure
JoeKarow Oct 10, 2025
d60695e
format
JoeKarow Oct 10, 2025
1119cca
fix: build errors
JoeKarow Oct 14, 2025
4a911cb
feat: implement plugin discovery system
JoeKarow Oct 14, 2025
6dbd7be
fix(temporal): correct import paths from temporal_base to base
JoeKarow Oct 14, 2025
b12431e
fix(plugins): return declarations instead of interfaces from get_inte…
JoeKarow Oct 14, 2025
73183da
format
JoeKarow Oct 14, 2025
e61c563
use `uv` in action
JoeKarow Oct 14, 2025
3b91619
add `--all-extras`
JoeKarow Oct 14, 2025
ee5d010
docs: update mkdocstring references for reorganized package structure
JoeKarow Oct 14, 2025
7ba6907
docs: fix broken internal links after documentation reorganization
JoeKarow Oct 14, 2025
14b873a
docs: fix mkdocs/griffe documentation warnings
JoeKarow Oct 14, 2025
b3caad1
update build cmd
JoeKarow Oct 14, 2025
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
47 changes: 29 additions & 18 deletions .ai-context/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,26 +22,44 @@ consistent UX while allowing easy contribution of new analyzers.
- **Data**: Polars/Pandas, PyArrow, Parquet files
- **Text Processing**: Unicode tokenizer service with scriptio continua support (character-level for CJK/Thai/Southeast Asian scripts, word-level for Latin/Arabic scripts)
- **Web**: Dash, Shiny for Python, Plotly
- **Package Manager**: UV (modern Python package manager)
- **Dev Tools**: Black, isort, pytest, PyInstaller

### Project Structure

UV workspace monorepo with 8 packages:

```bash
packages/
├── core/ # cibmangotree - Main application
├── importing/ # cibmangotree-importing - Data I/O
├── services/ # cibmangotree-services - Shared services
├── testing/ # cibmangotree-testing - Testing utilities
└── analyzers/ # Analysis modules (plugins)
├── hashtags/ # Hashtag analysis
├── ngrams/ # N-gram analysis
├── temporal/ # Temporal patterns
└── example/ # Example analyzer template
```

## Semantic Code Structure

### Entry Points

- `mangotango.py` - Main application bootstrap
- `python -m mangotango` - Standard execution command
- `packages/core/src/cibmangotree/__main__.py` - Main application bootstrap
- `uv run cibmangotree` - Standard execution command

### Core Architecture (MVC-like)

- **Application Layer** (`app/`): Workspace logic, analysis orchestration
- **View Layer** (`components/`): Terminal UI components using inquirer
- **Model Layer** (`storage/`): Data persistence, project/analysis models
- **Application Layer** (`packages/core/src/cibmangotree/app/`): Workspace logic, analysis orchestration
- **View Layer** (`packages/core/src/cibmangotree/components/`): Terminal UI components using inquirer
- **Model Layer** (`packages/core/src/cibmangotree/storage/`): Data persistence, project/analysis models

### Domain Separation

1. **Core Domain**: Application, Terminal Components, Storage IO
2. **Edge Domain**: Data import/export (`importing/`), preprocessing
3. **Content Domain**: Analyzers (`analyzers/`), web presenters
1. **Core Domain**: Application, Terminal Components, Storage IO (`packages/core/`)
2. **Edge Domain**: Data import/export (`packages/importing/`), preprocessing
3. **Content Domain**: Analyzers (`packages/analyzers/`), web presenters

### Key Data Flow

Expand Down Expand Up @@ -78,7 +96,7 @@ Dependency injection through context objects:
### Code Organization

- Domain-driven module structure
- Interface-first analyzer design
- Interface-first analyzer design
- Context-based dependency injection
- Test co-location with implementation

Expand All @@ -94,21 +112,14 @@ Dependency injection through context objects:
### For Development

1. **Setup**: See @.ai-context/setup-guide.md
2. **Architecture**: See @.ai-context/architecture-overview.md
2. **Architecture**: See @.ai-context/architecture-overview.md
3. **Symbol Reference**: See @.ai-context/symbol-reference.md
4. **Development Guide**: See @docs/dev-guide.md

### For AI Assistants

- **Claude Code users**: See @CLAUDE.md (includes Serena integration)
- **Claude Code users**: See @CLAUDE.md
- **Cursor users**: See @.cursorrules
- **Deep semantic analysis**: Explore @.serena/memories/

### Quick References

- **Commands**: @.serena/memories/suggested_commands.md
- **Style Guide**: @.serena/memories/code_style_conventions.md
- **Task Checklist**: @.serena/memories/task_completion_checklist.md

## External Dependencies

Expand Down
10 changes: 6 additions & 4 deletions .ai-context/architecture-overview.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Architecture Overview

> **Note:** This project uses a UV workspace monorepo structure. All packages are organized under `packages/`, with the core application in `packages/core/src/cibmangotree/` and supporting packages (analyzers, services, importing, testing) in their respective `packages/` subdirectories.

## High-Level Component Diagram

```mermaid
Expand Down Expand Up @@ -36,7 +38,7 @@ flowchart TD

### Application Layer (`app/`)

Central orchestration and workspace management
Central orchestration and workspace management (located in `packages/core/src/cibmangotree/app/`)

Key Classes:

Expand All @@ -50,7 +52,7 @@ Key Classes:

### View Layer (`components/`)

Terminal UI components using inquirer
Terminal UI components using inquirer (located in `packages/core/src/cibmangotree/tui/components/`)

Key Components:

Expand All @@ -62,7 +64,7 @@ Key Components:

### Model Layer (`storage/`)

Data persistence and state management
Data persistence and state management (located in `packages/core/src/cibmangotree/storage/`)

Key Classes:

Expand All @@ -79,7 +81,7 @@ Reusable services that support analyzers and data processing

Key Services:

- **Tokenizer Service** (`services/tokenizer/`) - Unicode-aware scriptio continua tokenization
- **Tokenizer Service** - Unicode-aware scriptio continua tokenization (located in `packages/core/src/cibmangotree/services/tokenizer/`)
- `AbstractTokenizer` - Base interface for tokenizer implementations
- `TokenizerConfig` - Configuration for tokenization behavior
- `BasicTokenizer` - Core implementation with character-level and word-level tokenization
Expand Down
Loading
Loading