yumii 0.11.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- yumii-0.11.0/.env.example +27 -0
- yumii-0.11.0/.github/scripts/check_versions.py +51 -0
- yumii-0.11.0/.github/workflows/ci.yml +67 -0
- yumii-0.11.0/.github/workflows/release.yml +76 -0
- yumii-0.11.0/.gitignore +37 -0
- yumii-0.11.0/.python-version +1 -0
- yumii-0.11.0/CHANGELOG.md +661 -0
- yumii-0.11.0/CLAUDE.md +114 -0
- yumii-0.11.0/CONTRIBUTING.md +92 -0
- yumii-0.11.0/LICENSE +21 -0
- yumii-0.11.0/MANIFEST.in +1 -0
- yumii-0.11.0/PKG-INFO +245 -0
- yumii-0.11.0/README.md +167 -0
- yumii-0.11.0/ROADMAP.md +241 -0
- yumii-0.11.0/VISION.md +67 -0
- yumii-0.11.0/desktop/.gitignore +6 -0
- yumii-0.11.0/desktop/app-icon.png +0 -0
- yumii-0.11.0/desktop/src-tauri/Cargo.lock +4500 -0
- yumii-0.11.0/desktop/src-tauri/Cargo.toml +17 -0
- yumii-0.11.0/desktop/src-tauri/build.rs +3 -0
- yumii-0.11.0/desktop/src-tauri/capabilities/default.json +14 -0
- yumii-0.11.0/desktop/src-tauri/icons/128x128.png +0 -0
- yumii-0.11.0/desktop/src-tauri/icons/128x128@2x.png +0 -0
- yumii-0.11.0/desktop/src-tauri/icons/32x32.png +0 -0
- yumii-0.11.0/desktop/src-tauri/icons/icon.icns +0 -0
- yumii-0.11.0/desktop/src-tauri/icons/icon.ico +0 -0
- yumii-0.11.0/desktop/src-tauri/icons/icon.png +0 -0
- yumii-0.11.0/desktop/src-tauri/src/main.rs +215 -0
- yumii-0.11.0/desktop/src-tauri/tauri.conf.json +42 -0
- yumii-0.11.0/docs/.gitignore +29 -0
- yumii-0.11.0/docs/app/(docs)/[...slug]/page.tsx +153 -0
- yumii-0.11.0/docs/app/(docs)/layout.tsx +35 -0
- yumii-0.11.0/docs/app/CodeBlock.tsx +37 -0
- yumii-0.11.0/docs/app/CopyButton.tsx +28 -0
- yumii-0.11.0/docs/app/MDXPre.tsx +114 -0
- yumii-0.11.0/docs/app/Sidebar.tsx +90 -0
- yumii-0.11.0/docs/app/TableOfContents.tsx +128 -0
- yumii-0.11.0/docs/app/TopNav.tsx +156 -0
- yumii-0.11.0/docs/app/components/docs/Callout.tsx +38 -0
- yumii-0.11.0/docs/app/components/docs/CodeCard.tsx +74 -0
- yumii-0.11.0/docs/app/components/docs/ContentCard.tsx +13 -0
- yumii-0.11.0/docs/app/components/docs/DocsCard.tsx +53 -0
- yumii-0.11.0/docs/app/components/docs/DocsHero.tsx +105 -0
- yumii-0.11.0/docs/app/components/docs/FeatureList.tsx +14 -0
- yumii-0.11.0/docs/app/components/docs/OrbHero.tsx +21 -0
- yumii-0.11.0/docs/app/components/docs/SectionContainer.tsx +14 -0
- yumii-0.11.0/docs/app/components/docs/StepsList.tsx +82 -0
- yumii-0.11.0/docs/app/globals.css +1328 -0
- yumii-0.11.0/docs/app/icon.png +0 -0
- yumii-0.11.0/docs/app/layout.tsx +74 -0
- yumii-0.11.0/docs/app/nav.ts +44 -0
- yumii-0.11.0/docs/content/development/architecture.mdx +103 -0
- yumii-0.11.0/docs/content/development/contributing.mdx +61 -0
- yumii-0.11.0/docs/content/development/from-source.mdx +75 -0
- yumii-0.11.0/docs/content/development/packaging.mdx +80 -0
- yumii-0.11.0/docs/content/docs.json +161 -0
- yumii-0.11.0/docs/content/get-started/first-conversation.mdx +78 -0
- yumii-0.11.0/docs/content/get-started/installation.mdx +94 -0
- yumii-0.11.0/docs/content/get-started/what-is-yumii.mdx +85 -0
- yumii-0.11.0/docs/content/guide/dashboard.mdx +65 -0
- yumii-0.11.0/docs/content/guide/memory.mdx +72 -0
- yumii-0.11.0/docs/content/guide/personalities.mdx +76 -0
- yumii-0.11.0/docs/content/guide/talking.mdx +67 -0
- yumii-0.11.0/docs/content/guide/tools.mdx +90 -0
- yumii-0.11.0/docs/content/images/yumi-nav.png +0 -0
- yumii-0.11.0/docs/content/introduction.mdx +87 -0
- yumii-0.11.0/docs/content/providers/llm.mdx +77 -0
- yumii-0.11.0/docs/content/providers/stt.mdx +59 -0
- yumii-0.11.0/docs/content/providers/tts.mdx +65 -0
- yumii-0.11.0/docs/content/quickstart.mdx +67 -0
- yumii-0.11.0/docs/content/reference/api.mdx +101 -0
- yumii-0.11.0/docs/content/reference/cli.mdx +54 -0
- yumii-0.11.0/docs/content/reference/files.mdx +61 -0
- yumii-0.11.0/docs/content/reference/settings.mdx +71 -0
- yumii-0.11.0/docs/content/reference/troubleshooting.mdx +103 -0
- yumii-0.11.0/docs/next-env.d.ts +5 -0
- yumii-0.11.0/docs/next.config.mjs +17 -0
- yumii-0.11.0/docs/package-lock.json +8843 -0
- yumii-0.11.0/docs/package.json +32 -0
- yumii-0.11.0/docs/public/favicon.svg +1 -0
- yumii-0.11.0/docs/public/icons.svg +24 -0
- yumii-0.11.0/docs/public/images/orb-logo.png +0 -0
- yumii-0.11.0/docs/public/images/yumi-nav.png +0 -0
- yumii-0.11.0/docs/public/mascot.png +0 -0
- yumii-0.11.0/docs/tsconfig.json +41 -0
- yumii-0.11.0/install.ps1 +89 -0
- yumii-0.11.0/install.sh +52 -0
- yumii-0.11.0/pyproject.toml +86 -0
- yumii-0.11.0/src/yumii/__init__.py +1 -0
- yumii-0.11.0/src/yumii/__main__.py +6 -0
- yumii-0.11.0/src/yumii/agent/__init__.py +1 -0
- yumii-0.11.0/src/yumii/agent/fact_extractor.py +340 -0
- yumii-0.11.0/src/yumii/agent/graph.py +565 -0
- yumii-0.11.0/src/yumii/agent/llm.py +255 -0
- yumii-0.11.0/src/yumii/agent/nodes.py +46 -0
- yumii-0.11.0/src/yumii/agent/personality_manager.py +92 -0
- yumii-0.11.0/src/yumii/agent/synthesizer.py +297 -0
- yumii-0.11.0/src/yumii/api/__init__.py +1 -0
- yumii-0.11.0/src/yumii/api/server.py +705 -0
- yumii-0.11.0/src/yumii/assets/models/silero_vad.onnx +0 -0
- yumii-0.11.0/src/yumii/assets/prompts/_core.txt +43 -0
- yumii-0.11.0/src/yumii/assets/prompts/caring.txt +35 -0
- yumii-0.11.0/src/yumii/assets/prompts/dandere.txt +35 -0
- yumii-0.11.0/src/yumii/assets/prompts/genki.txt +35 -0
- yumii-0.11.0/src/yumii/assets/prompts/kuudere.txt +35 -0
- yumii-0.11.0/src/yumii/assets/prompts/tsundere.txt +35 -0
- yumii-0.11.0/src/yumii/assets/prompts/yandere.txt +35 -0
- yumii-0.11.0/src/yumii/assets/webui/_companion_live2d.reference.html +784 -0
- yumii-0.11.0/src/yumii/assets/webui/dashboard.html +491 -0
- yumii-0.11.0/src/yumii/assets/webui/index.html +808 -0
- yumii-0.11.0/src/yumii/audio/__init__.py +1 -0
- yumii-0.11.0/src/yumii/audio/silero_vad.py +85 -0
- yumii-0.11.0/src/yumii/audio/stt.py +247 -0
- yumii-0.11.0/src/yumii/audio/stt_factory.py +22 -0
- yumii-0.11.0/src/yumii/audio/stt_providers.py +130 -0
- yumii-0.11.0/src/yumii/audio/vosk_model.py +52 -0
- yumii-0.11.0/src/yumii/audio/vosk_provider.py +84 -0
- yumii-0.11.0/src/yumii/cli.py +76 -0
- yumii-0.11.0/src/yumii/core/__init__.py +1 -0
- yumii-0.11.0/src/yumii/core/config.py +89 -0
- yumii-0.11.0/src/yumii/core/credential_store.py +208 -0
- yumii-0.11.0/src/yumii/core/engine.py +877 -0
- yumii-0.11.0/src/yumii/core/global_config.py +49 -0
- yumii-0.11.0/src/yumii/core/interfaces.py +45 -0
- yumii-0.11.0/src/yumii/core/logging.py +71 -0
- yumii-0.11.0/src/yumii/core/memory_db.py +158 -0
- yumii-0.11.0/src/yumii/core/memory_manager.py +388 -0
- yumii-0.11.0/src/yumii/core/session_manager.py +190 -0
- yumii-0.11.0/src/yumii/core/summarizer.py +212 -0
- yumii-0.11.0/src/yumii/core/transcript.py +224 -0
- yumii-0.11.0/src/yumii/core/types.py +9 -0
- yumii-0.11.0/src/yumii/tools/__init__.py +72 -0
- yumii-0.11.0/src/yumii/tools/composio_loader.py +205 -0
- yumii-0.11.0/src/yumii/tools/mcp_config.py +174 -0
- yumii-0.11.0/src/yumii/tools/memory_tool.py +144 -0
- yumii-0.11.0/src/yumii/tools/policy.py +105 -0
- yumii-0.11.0/src/yumii/tools/registry.py +327 -0
- yumii-0.11.0/src/yumii/tools/session_search_tool.py +145 -0
- yumii-0.11.0/src/yumii/tools/time_tool.py +67 -0
- yumii-0.11.0/src/yumii/tools/web_search_tool.py +78 -0
- yumii-0.11.0/src/yumii/tts/__init__.py +1 -0
- yumii-0.11.0/src/yumii/tts/camb_speaker.py +125 -0
- yumii-0.11.0/src/yumii/tts/factory.py +24 -0
- yumii-0.11.0/src/yumii/tts/kokoro_model.py +84 -0
- yumii-0.11.0/src/yumii/tts/kokoro_speaker.py +191 -0
- yumii-0.11.0/src/yumii/tts/speaker.py +122 -0
- yumii-0.11.0/tests/test_agent_memory.py +258 -0
- yumii-0.11.0/tests/test_audio_pipeline.py +191 -0
- yumii-0.11.0/tests/test_composio_loader.py +149 -0
- yumii-0.11.0/tests/test_credential_store.py +127 -0
- yumii-0.11.0/tests/test_duplicate_tool_calls.py +123 -0
- yumii-0.11.0/tests/test_fact_extractor.py +177 -0
- yumii-0.11.0/tests/test_global_config.py +55 -0
- yumii-0.11.0/tests/test_kokoro_chunking.py +55 -0
- yumii-0.11.0/tests/test_memory_db.py +76 -0
- yumii-0.11.0/tests/test_memory_manager.py +140 -0
- yumii-0.11.0/tests/test_personality_manager.py +101 -0
- yumii-0.11.0/tests/test_personality_switch.py +42 -0
- yumii-0.11.0/tests/test_prompt_assembly.py +64 -0
- yumii-0.11.0/tests/test_request_size_guards.py +193 -0
- yumii-0.11.0/tests/test_schema_sanitizer.py +99 -0
- yumii-0.11.0/tests/test_session_manager.py +139 -0
- yumii-0.11.0/tests/test_session_summaries.py +219 -0
- yumii-0.11.0/tests/test_silero_vad.py +52 -0
- yumii-0.11.0/tests/test_state_types.py +17 -0
- yumii-0.11.0/tests/test_synthesizer_think_strip.py +36 -0
- yumii-0.11.0/tests/test_tool_registry.py +201 -0
- yumii-0.11.0/tests/test_transcript_search.py +198 -0
- yumii-0.11.0/tests/test_tts_streaming.py +118 -0
- yumii-0.11.0/uv.lock +4514 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Yumii — Configuration
|
|
2
|
+
|
|
3
|
+
## ⚠️ Do NOT create a .env file to configure Yumii.
|
|
4
|
+
|
|
5
|
+
Yumii stores API keys in **~/.yumii/auth.json** (an owner-only local file,
|
|
6
|
+
the same model Claude Code and opencode use) and preferences in
|
|
7
|
+
~/.yumii/config.json. Setting up via a .env file will have **no effect** —
|
|
8
|
+
pydantic-settings is not loading it.
|
|
9
|
+
|
|
10
|
+
## How to configure Yumii
|
|
11
|
+
|
|
12
|
+
Run the interactive setup wizard:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
uv run yumii
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
On first launch, the wizard will walk you through:
|
|
19
|
+
1. Choosing your LLM provider (Groq / OpenAI / Anthropic) and entering your API key
|
|
20
|
+
2. Choosing your TTS provider (ElevenLabs) and entering your API key + Voice ID
|
|
21
|
+
3. Choosing your STT backend (Local Whisper or Groq Whisper) and model size
|
|
22
|
+
4. Setting Yumii's personality
|
|
23
|
+
|
|
24
|
+
All API keys are stored in ~/.yumii/auth.json with owner-only permissions.
|
|
25
|
+
|
|
26
|
+
You can re-run configuration at any time via:
|
|
27
|
+
Dashboard → ⚙️ Configure Senses
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Fail if the product version differs across the files that declare it.
|
|
3
|
+
|
|
4
|
+
pyproject.toml (the Python package), tauri.conf.json (the desktop app
|
|
5
|
+
metadata), and Cargo.toml (the Rust shell) each carry their own version
|
|
6
|
+
string. They drifted once (0.9.0 vs 0.1.0), which would have shipped a
|
|
7
|
+
packaged app labelled v0.1.0. CI runs this so the release routine can't
|
|
8
|
+
silently forget one again. Runnable locally too: ``python
|
|
9
|
+
.github/scripts/check_versions.py``.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
from __future__ import annotations
|
|
13
|
+
|
|
14
|
+
import json
|
|
15
|
+
import sys
|
|
16
|
+
import tomllib
|
|
17
|
+
from pathlib import Path
|
|
18
|
+
|
|
19
|
+
ROOT = Path(__file__).resolve().parents[2]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _load() -> dict[str, str]:
|
|
23
|
+
pyproject = tomllib.loads(
|
|
24
|
+
(ROOT / "pyproject.toml").read_text(encoding="utf-8")
|
|
25
|
+
)["project"]["version"]
|
|
26
|
+
tauri = json.loads(
|
|
27
|
+
(ROOT / "desktop/src-tauri/tauri.conf.json").read_text(encoding="utf-8")
|
|
28
|
+
)["version"]
|
|
29
|
+
cargo = tomllib.loads(
|
|
30
|
+
(ROOT / "desktop/src-tauri/Cargo.toml").read_text(encoding="utf-8")
|
|
31
|
+
)["package"]["version"]
|
|
32
|
+
return {
|
|
33
|
+
"pyproject.toml": pyproject,
|
|
34
|
+
"desktop/src-tauri/tauri.conf.json": tauri,
|
|
35
|
+
"desktop/src-tauri/Cargo.toml": cargo,
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def main() -> int:
|
|
40
|
+
versions = _load()
|
|
41
|
+
if len(set(versions.values())) != 1:
|
|
42
|
+
print("Version drift detected — these must all match:")
|
|
43
|
+
for name, ver in versions.items():
|
|
44
|
+
print(f" {ver:<10} {name}")
|
|
45
|
+
return 1
|
|
46
|
+
print(f"All versions aligned: {next(iter(versions.values()))}")
|
|
47
|
+
return 0
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
if __name__ == "__main__":
|
|
51
|
+
sys.exit(main())
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ "master", "feat/one-command-install" ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ "master" ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build:
|
|
11
|
+
name: ${{ matrix.os }} · Python ${{ matrix.python-version }}
|
|
12
|
+
runs-on: ${{ matrix.os }}
|
|
13
|
+
strategy:
|
|
14
|
+
fail-fast: false
|
|
15
|
+
matrix:
|
|
16
|
+
os: [ubuntu-latest, windows-latest]
|
|
17
|
+
python-version: ["3.12"]
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4
|
|
21
|
+
|
|
22
|
+
- name: Set up Python
|
|
23
|
+
uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: ${{ matrix.python-version }}
|
|
26
|
+
|
|
27
|
+
- name: Install uv
|
|
28
|
+
uses: astral-sh/setup-uv@v3
|
|
29
|
+
with:
|
|
30
|
+
version: "latest"
|
|
31
|
+
|
|
32
|
+
- name: Install dependencies
|
|
33
|
+
run: uv sync --extra dev
|
|
34
|
+
|
|
35
|
+
- name: Lint with ruff
|
|
36
|
+
run: uv run ruff check .
|
|
37
|
+
|
|
38
|
+
- name: Test with pytest
|
|
39
|
+
run: uv run pytest tests/
|
|
40
|
+
|
|
41
|
+
versions:
|
|
42
|
+
name: Version consistency
|
|
43
|
+
runs-on: ubuntu-latest
|
|
44
|
+
steps:
|
|
45
|
+
- uses: actions/checkout@v4
|
|
46
|
+
- uses: actions/setup-python@v5
|
|
47
|
+
with:
|
|
48
|
+
python-version: "3.12"
|
|
49
|
+
- name: Versions must match across pyproject / tauri.conf / Cargo
|
|
50
|
+
run: python .github/scripts/check_versions.py
|
|
51
|
+
|
|
52
|
+
desktop:
|
|
53
|
+
name: Desktop shell build (Windows)
|
|
54
|
+
runs-on: windows-latest
|
|
55
|
+
steps:
|
|
56
|
+
- uses: actions/checkout@v4
|
|
57
|
+
|
|
58
|
+
- name: Install Rust
|
|
59
|
+
uses: dtolnay/rust-toolchain@stable
|
|
60
|
+
|
|
61
|
+
- name: Cache cargo
|
|
62
|
+
uses: Swatinem/rust-cache@v2
|
|
63
|
+
with:
|
|
64
|
+
workspaces: desktop/src-tauri
|
|
65
|
+
|
|
66
|
+
- name: Build the Tauri shell
|
|
67
|
+
run: cargo build --manifest-path desktop/src-tauri/Cargo.toml
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
# Machine plumbing for the one-command installer at https://yumii.me —
|
|
4
|
+
# humans never download anything from this page by hand.
|
|
5
|
+
#
|
|
6
|
+
# git tag v0.11.0 && git push origin v0.11.0
|
|
7
|
+
#
|
|
8
|
+
# publishes two artifacts:
|
|
9
|
+
# * the `yumii` wheel to PyPI (installed via `uv tool install yumii`)
|
|
10
|
+
# * the bare desktop shell Yumii.exe (fetched by install.ps1 from
|
|
11
|
+
# .../releases/latest/download/Yumii.exe)
|
|
12
|
+
#
|
|
13
|
+
# PyPI auth is Trusted Publishing (GitHub OIDC) — no tokens, no secrets.
|
|
14
|
+
# The PyPI project's publisher must point at THIS workflow filename and
|
|
15
|
+
# the `pypi` environment.
|
|
16
|
+
|
|
17
|
+
on:
|
|
18
|
+
push:
|
|
19
|
+
tags:
|
|
20
|
+
- "v*"
|
|
21
|
+
|
|
22
|
+
permissions:
|
|
23
|
+
contents: write # create the release + upload the shell exe
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
pypi:
|
|
27
|
+
name: Publish wheel to PyPI
|
|
28
|
+
runs-on: ubuntu-latest
|
|
29
|
+
environment: pypi
|
|
30
|
+
permissions:
|
|
31
|
+
id-token: write # OIDC for PyPI trusted publishing
|
|
32
|
+
steps:
|
|
33
|
+
- uses: actions/checkout@v4
|
|
34
|
+
|
|
35
|
+
- name: Install uv
|
|
36
|
+
uses: astral-sh/setup-uv@v3
|
|
37
|
+
with:
|
|
38
|
+
version: "latest"
|
|
39
|
+
|
|
40
|
+
- name: Build the wheel + sdist
|
|
41
|
+
run: uv build
|
|
42
|
+
|
|
43
|
+
- name: Publish to PyPI (trusted publishing)
|
|
44
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
45
|
+
|
|
46
|
+
shell:
|
|
47
|
+
name: Desktop shell (Windows)
|
|
48
|
+
runs-on: windows-latest
|
|
49
|
+
steps:
|
|
50
|
+
- uses: actions/checkout@v4
|
|
51
|
+
|
|
52
|
+
- name: Install Rust
|
|
53
|
+
uses: dtolnay/rust-toolchain@stable
|
|
54
|
+
|
|
55
|
+
- name: Cache cargo
|
|
56
|
+
uses: Swatinem/rust-cache@v2
|
|
57
|
+
with:
|
|
58
|
+
workspaces: desktop/src-tauri
|
|
59
|
+
|
|
60
|
+
- name: Build the bare shell (no bundling)
|
|
61
|
+
working-directory: desktop
|
|
62
|
+
run: npx @tauri-apps/cli@latest build
|
|
63
|
+
|
|
64
|
+
- name: Stage the exe under its public name
|
|
65
|
+
run: Copy-Item desktop/src-tauri/target/release/yumii-desktop.exe Yumii.exe
|
|
66
|
+
|
|
67
|
+
- name: Publish release with the shell exe
|
|
68
|
+
uses: softprops/action-gh-release@v2
|
|
69
|
+
with:
|
|
70
|
+
name: Yumii ${{ github.ref_name }}
|
|
71
|
+
body: |
|
|
72
|
+
**Don't download anything here.** Install Yumii with one command — see https://yumii.me
|
|
73
|
+
|
|
74
|
+
This page is plumbing for the installer: it fetches `Yumii.exe`
|
|
75
|
+
(the desktop shell) from here, and the backend comes from PyPI.
|
|
76
|
+
files: Yumii.exe
|
yumii-0.11.0/.gitignore
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Python-generated files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[oc]
|
|
4
|
+
build/
|
|
5
|
+
dist/
|
|
6
|
+
wheels/
|
|
7
|
+
*.egg-info
|
|
8
|
+
|
|
9
|
+
# Virtual environments
|
|
10
|
+
.venv
|
|
11
|
+
.env
|
|
12
|
+
|
|
13
|
+
Trash/
|
|
14
|
+
src/yumii/Yumii_Avatar/
|
|
15
|
+
src/yumii/webui/test.html
|
|
16
|
+
|
|
17
|
+
# Old docs backup
|
|
18
|
+
docs-old/
|
|
19
|
+
|
|
20
|
+
# Documentation Journey
|
|
21
|
+
docs/thought_process.md
|
|
22
|
+
|
|
23
|
+
# Experiments and temporary assets
|
|
24
|
+
Experiments/
|
|
25
|
+
*.wav
|
|
26
|
+
|
|
27
|
+
# Assets — user-provided Live2D models live in ~/.yumii/avatar/, not here
|
|
28
|
+
assets/avatar/
|
|
29
|
+
|
|
30
|
+
# IDE / OS clutter
|
|
31
|
+
.idea/
|
|
32
|
+
.vscode/
|
|
33
|
+
.DS_Store
|
|
34
|
+
Thumbs.db
|
|
35
|
+
|
|
36
|
+
# Staged model files for the installer (fetched at build time)
|
|
37
|
+
packaging/build-models/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|