tokentoss 0.1.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.
Files changed (126) hide show
  1. tokentoss-0.1.0/.claude/agents/docs-updater.md +84 -0
  2. tokentoss-0.1.0/.claude/commands/commit-auto.md +71 -0
  3. tokentoss-0.1.0/.claude/commands/commit-macro.md +42 -0
  4. tokentoss-0.1.0/.claude/commands/commit-manual.md +58 -0
  5. tokentoss-0.1.0/.claude/commands/design-plan.md +1060 -0
  6. tokentoss-0.1.0/.claude/commands/design-review.md +775 -0
  7. tokentoss-0.1.0/.claude/commands/tasks-align.md +81 -0
  8. tokentoss-0.1.0/.claude/commands/tasks-implement.md +127 -0
  9. tokentoss-0.1.0/.claude/commands/work-archive.md +758 -0
  10. tokentoss-0.1.0/.claude/commands/work-status.md +701 -0
  11. tokentoss-0.1.0/.claude/hooks/commit-auto.sh +146 -0
  12. tokentoss-0.1.0/.claude/hooks/macro-commit.sh +295 -0
  13. tokentoss-0.1.0/.claude/hooks/micro-commit.sh +68 -0
  14. tokentoss-0.1.0/.claude/hooks/templates/macro-commit-prompt.txt +79 -0
  15. tokentoss-0.1.0/.gemini/commands/commit/auto.toml +11 -0
  16. tokentoss-0.1.0/.gemini/commands/commit/macro.toml +17 -0
  17. tokentoss-0.1.0/.gemini/commands/commit/manual.toml +15 -0
  18. tokentoss-0.1.0/.gemini/hooks/commit-auto.sh +146 -0
  19. tokentoss-0.1.0/.gemini/hooks/macro-commit.sh +305 -0
  20. tokentoss-0.1.0/.gemini/hooks/micro-commit.sh +75 -0
  21. tokentoss-0.1.0/.gemini/hooks/templates/macro-commit-prompt.txt +79 -0
  22. tokentoss-0.1.0/.gemini/settings.json +19 -0
  23. tokentoss-0.1.0/.gemini/skills/docs-updater/SKILL.md +83 -0
  24. tokentoss-0.1.0/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  25. tokentoss-0.1.0/.github/ISSUE_TEMPLATE/feature_request.md +23 -0
  26. tokentoss-0.1.0/.github/workflows/ci.yml +43 -0
  27. tokentoss-0.1.0/.github/workflows/release.yml +60 -0
  28. tokentoss-0.1.0/.github/workflows/security.yml +39 -0
  29. tokentoss-0.1.0/.github/workflows/start-release.yml +50 -0
  30. tokentoss-0.1.0/.gitignore +118 -0
  31. tokentoss-0.1.0/CLAUDE.md +137 -0
  32. tokentoss-0.1.0/CONTRIBUTING.md +66 -0
  33. tokentoss-0.1.0/LICENSE +21 -0
  34. tokentoss-0.1.0/PKG-INFO +147 -0
  35. tokentoss-0.1.0/README.md +119 -0
  36. tokentoss-0.1.0/_blueprint/CLAUDE.md +34 -0
  37. tokentoss-0.1.0/_blueprint/archive/bugfix-implementation.md +240 -0
  38. tokentoss-0.1.0/_blueprint/archive/client_secrets_implementation.md +149 -0
  39. tokentoss-0.1.0/_blueprint/archive/phase-2-implementation.md +162 -0
  40. tokentoss-0.1.0/_blueprint/archive/phase-3-implementation.md +258 -0
  41. tokentoss-0.1.0/_blueprint/archive/phase-5-polish-implementation.md +251 -0
  42. tokentoss-0.1.0/_blueprint/archive/polish-improvement-implementation.md +125 -0
  43. tokentoss-0.1.0/_blueprint/archive/progress.md +223 -0
  44. tokentoss-0.1.0/_blueprint/archive/testing-improvement-implementation.md +135 -0
  45. tokentoss-0.1.0/_blueprint/archive/tokentoss_implementation.md +393 -0
  46. tokentoss-0.1.0/_blueprint/archive/widget-testing-feedback.md +100 -0
  47. tokentoss-0.1.0/_blueprint/context/gemini-cli/README.md +76 -0
  48. tokentoss-0.1.0/_blueprint/context/gemini-cli/agent-skills.md +188 -0
  49. tokentoss-0.1.0/_blueprint/context/gemini-cli/custom-commands.md +315 -0
  50. tokentoss-0.1.0/_blueprint/context/gemini-cli/headless-mode.md +388 -0
  51. tokentoss-0.1.0/_blueprint/context/gemini-cli/hooks-reference.md +322 -0
  52. tokentoss-0.1.0/_blueprint/context/gemini-cli/hooks.md +178 -0
  53. tokentoss-0.1.0/_blueprint/context/gemini-cli/sandboxing.md +171 -0
  54. tokentoss-0.1.0/_blueprint/context/gemini-cli/settings.md +130 -0
  55. tokentoss-0.1.0/_blueprint/context/gemini-cli/sub-agents.md +194 -0
  56. tokentoss-0.1.0/_blueprint/context/gemini-cli/system-prompt-override.md +125 -0
  57. tokentoss-0.1.0/_blueprint/context/google-iap/README.md +28 -0
  58. tokentoss-0.1.0/_blueprint/context/platformdirs/README.md +11 -0
  59. tokentoss-0.1.0/_blueprint/context/platformdirs/directory-types.md +26 -0
  60. tokentoss-0.1.0/_blueprint/context/platformdirs/platformdirs-overview.md +62 -0
  61. tokentoss-0.1.0/_blueprint/context/pytest/pytest-general-foundations.md +227 -0
  62. tokentoss-0.1.0/_blueprint/context/pytest/pytest-project-guidance.md +259 -0
  63. tokentoss-0.1.0/_blueprint/context/pytest-mock/configuration.md +75 -0
  64. tokentoss-0.1.0/_blueprint/context/pytest-mock/overview.md +49 -0
  65. tokentoss-0.1.0/_blueprint/context/pytest-mock/remarks.md +102 -0
  66. tokentoss-0.1.0/_blueprint/context/pytest-mock/usage.md +171 -0
  67. tokentoss-0.1.0/_blueprint/context/ruff/README.md +54 -0
  68. tokentoss-0.1.0/_blueprint/context/ty/01-overview.md +36 -0
  69. tokentoss-0.1.0/_blueprint/context/ty/02-github-readme.md +54 -0
  70. tokentoss-0.1.0/_blueprint/context/ty/03-configuration.md +43 -0
  71. tokentoss-0.1.0/_blueprint/context/ty/04-cli-reference.md +60 -0
  72. tokentoss-0.1.0/_blueprint/context/ty/05-editors.md +67 -0
  73. tokentoss-0.1.0/_blueprint/context/ty/06-configuration-reference.md +59 -0
  74. tokentoss-0.1.0/_blueprint/context/ty/07-environment-variables.md +53 -0
  75. tokentoss-0.1.0/_blueprint/context/ty/README.md +56 -0
  76. tokentoss-0.1.0/_blueprint/ideas/ci-cd-notes.md +41 -0
  77. tokentoss-0.1.0/_blueprint/ideas/cleanup-notes.md +88 -0
  78. tokentoss-0.1.0/_blueprint/ideas/design-concept.md +500 -0
  79. tokentoss-0.1.0/_blueprint/ideas/design-outline-claude.md +505 -0
  80. tokentoss-0.1.0/_blueprint/ideas/design-outline-codex.md +89 -0
  81. tokentoss-0.1.0/_blueprint/ideas/design-outline-gemini.md +93 -0
  82. tokentoss-0.1.0/_blueprint/ideas/nicholasgrundl-site-deployment.md +595 -0
  83. tokentoss-0.1.0/_blueprint/ideas/plan-v1.md +562 -0
  84. tokentoss-0.1.0/_blueprint/implement/A-github-actions-setup.md +92 -0
  85. tokentoss-0.1.0/_blueprint/implement/B-initial-release-plan.md +59 -0
  86. tokentoss-0.1.0/_blueprint/implement/C-release-implementation.md +63 -0
  87. tokentoss-0.1.0/_blueprint/implement/D-test-service-gcp-setup.md +460 -0
  88. tokentoss-0.1.0/_blueprint/implement/E-widget-testing-guide.md +243 -0
  89. tokentoss-0.1.0/_blueprint/implement/RELEASE-1-merge-and-publish.md +79 -0
  90. tokentoss-0.1.0/_blueprint/implement/RELEASE-2-v010-pypi.md +142 -0
  91. tokentoss-0.1.0/_blueprint/plan/01-next-steps.md +46 -0
  92. tokentoss-0.1.0/_blueprint/plan/02-architectural-analysis.md +41 -0
  93. tokentoss-0.1.0/_blueprint/plan/03-widgets-subpackage.md +146 -0
  94. tokentoss-0.1.0/_blueprint/plan/04-distribution-pypi.md +142 -0
  95. tokentoss-0.1.0/_blueprint/plan/05-ci-cd-github-actions.md +221 -0
  96. tokentoss-0.1.0/_blueprint/plan/06-test-service-cloud-run.md +464 -0
  97. tokentoss-0.1.0/_blueprint/plan/07-docs-and-tutorials.md +125 -0
  98. tokentoss-0.1.0/_blueprint/plan/08-manual-testing.md +70 -0
  99. tokentoss-0.1.0/docs/gcp-admin-setup.md +128 -0
  100. tokentoss-0.1.0/docs/quickstart.md +105 -0
  101. tokentoss-0.1.0/examples/Dev-prerelease-testing.ipynb +498 -0
  102. tokentoss-0.1.0/examples/Widget-Testing.ipynb +132 -0
  103. tokentoss-0.1.0/examples/test-service/Dockerfile +12 -0
  104. tokentoss-0.1.0/examples/test-service/README.md +197 -0
  105. tokentoss-0.1.0/examples/test-service/main.py +78 -0
  106. tokentoss-0.1.0/examples/test-service/requirements.txt +2 -0
  107. tokentoss-0.1.0/justfile +133 -0
  108. tokentoss-0.1.0/pyproject.toml +108 -0
  109. tokentoss-0.1.0/src/tokentoss/__init__.py +80 -0
  110. tokentoss-0.1.0/src/tokentoss/_logging.py +42 -0
  111. tokentoss-0.1.0/src/tokentoss/_telemetry.py +13 -0
  112. tokentoss-0.1.0/src/tokentoss/auth_manager.py +492 -0
  113. tokentoss-0.1.0/src/tokentoss/client.py +250 -0
  114. tokentoss-0.1.0/src/tokentoss/configure_widget.py +253 -0
  115. tokentoss-0.1.0/src/tokentoss/exceptions.py +56 -0
  116. tokentoss-0.1.0/src/tokentoss/setup.py +197 -0
  117. tokentoss-0.1.0/src/tokentoss/storage.py +195 -0
  118. tokentoss-0.1.0/src/tokentoss/widget.py +786 -0
  119. tokentoss-0.1.0/tests/__init__.py +1 -0
  120. tokentoss-0.1.0/tests/test_auth_manager.py +500 -0
  121. tokentoss-0.1.0/tests/test_client.py +358 -0
  122. tokentoss-0.1.0/tests/test_configure_widget.py +166 -0
  123. tokentoss-0.1.0/tests/test_setup.py +274 -0
  124. tokentoss-0.1.0/tests/test_storage.py +350 -0
  125. tokentoss-0.1.0/tests/test_widget.py +703 -0
  126. tokentoss-0.1.0/uv.lock +2578 -0
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: docs-updater
3
+ description: Use this agent when the user explicitly requests documentation updates, README updates, or mentions the 'readme agent'. This includes requests like 'update the README', 'refresh documentation', 'update CLAUDE.md', or 'run the readme agent'. Examples:\n\n<example>\nuser: "Can you run the readme agent to update the documentation?"\nassistant: "I'll use the Task tool to launch the docs-updater agent to handle the documentation updates."\n<uses Agent tool to launch docs-updater>\n</example>\n\n<example>\nuser: "I've restructured the project folders. Please update the README and AI documentation files."\nassistant: "I'll launch the docs-updater agent to update both the user-facing README and the AI-specific documentation files (CLAUDE.md and GEMINI.md)."\n<uses Agent tool to launch docs-updater>\n</example>\n\n<example>\nuser: "Update CLAUDE.md with the current project structure"\nassistant: "I'll use the docs-updater agent to update the AI documentation files with the current structure."\n<uses Agent tool to launch docs-updater>\n</example>
4
+ tools: Glob, Grep, Read, WebFetch, TodoWrite, WebSearch, BashOutput, KillShell, Edit, Write, NotebookEdit
5
+ model: sonnet
6
+ color: purple
7
+ ---
8
+
9
+ You are an expert technical documentation specialist with deep expertise in creating clear, maintainable documentation for both human developers and AI assistants. Your role is to update and maintain two distinct types of documentation in repositories.
10
+
11
+ **Your Core Responsibilities:**
12
+
13
+ 1. **User-Facing README Files**: Update README.md files that explain:
14
+ - Repository structure and organization
15
+ - Current folder hierarchy with clear descriptions
16
+ - Usage instructions and getting started guides
17
+ - Project purpose and key features
18
+ - Installation and setup procedures when relevant
19
+ - Write in a friendly, accessible tone for human developers
20
+
21
+ 2. **AI-Focused Documentation**: Update CLAUDE.md and GEMINI.md files (with identical content) that provide:
22
+ - Concise file tree with brief annotations explaining each file's purpose
23
+ - Location-specific guidance on formatting standards
24
+ - Design patterns and architectural decisions
25
+ - Code organization principles
26
+ - Project-specific conventions and best practices
27
+ - Write in a direct, information-dense style optimized for AI consumption
28
+
29
+ **Your Working Process:**
30
+
31
+ 1. **Analyze Current State**: First, examine the repository structure using available tools to understand:
32
+ - Current folder organization
33
+ - Existing files and their purposes
34
+ - Any existing documentation that needs updating
35
+ - Recent changes that should be reflected
36
+
37
+ 2. **Identify Documentation Needs**: Determine which documentation requires updates:
38
+ - Has the structure changed?
39
+ - Are there new features or components?
40
+ - Is existing documentation outdated or incomplete?
41
+
42
+ 3. **Update User README**: When updating README.md:
43
+ - Lead with the project's purpose and value proposition
44
+ - Provide a clear, hierarchical view of the folder structure
45
+ - Explain what each major directory contains
46
+ - Include practical usage examples
47
+ - Keep language approachable and well-organized
48
+ - Use markdown formatting effectively (headers, lists, code blocks)
49
+
50
+ 4. **Update AI Documentation**: When updating CLAUDE.md and GEMINI.md:
51
+ - Create an annotated file tree showing the repository structure
52
+ - Keep annotations brief but informative (one line per file/folder)
53
+ - Document architectural patterns and design decisions
54
+ - Specify formatting conventions (indentation, naming, etc.)
55
+ - Include any location-specific guidance for code generation
56
+ - Prioritize information density over readability
57
+ - Ensure both files receive identical content
58
+
59
+ 5. **Quality Assurance**: Before finalizing:
60
+ - Verify all paths and file references are accurate
61
+ - Ensure consistency between documentation types
62
+ - Check that CLAUDE.md and GEMINI.md are identical
63
+ - Confirm markdown syntax is correct
64
+ - Validate that new information doesn't contradict existing docs
65
+
66
+ **Important Guidelines:**
67
+
68
+ - ALWAYS edit existing documentation files rather than creating new ones unless they don't exist
69
+ - When updating AI documentation, write to BOTH CLAUDE.md and GEMINI.md with identical content
70
+ - Keep user documentation comprehensive but scannable
71
+ - Keep AI documentation concise and information-rich
72
+ - Use consistent formatting and structure across all documentation
73
+ - If you're unsure about the purpose of a file or directory, ask for clarification before documenting it
74
+ - Focus on accuracy - incorrect documentation is worse than no documentation
75
+ - Preserve any existing valuable content unless it's clearly outdated
76
+
77
+ **Output Format:**
78
+
79
+ - For README.md: Use standard markdown with clear sections, headers, and formatting
80
+ - For CLAUDE.md/GEMINI.md: Lead with file tree, follow with structured guidance sections
81
+ - Always show the user what changes you're making before applying them
82
+ - Explain your reasoning for significant documentation decisions
83
+
84
+ You are proactive in identifying documentation gaps but always confirm major structural changes with the user before implementing them.
@@ -0,0 +1,71 @@
1
+ ---
2
+ description: Automatically generate and create a MACRO commit using LLM analysis of git history
3
+ allowed-tools: Bash(.claude/hooks/commit-auto.sh:*), Bash(git log:*), Bash(git status:*), Bash(git rev-parse:*), Bash(git commit:*), Bash(git add:*)
4
+ argument-hint: ""
5
+ ---
6
+
7
+ ## Context
8
+
9
+ This command automates MACRO commit creation using a modular pipeline:
10
+ 1. Extract git context (MACRO commits, MICRO commits, current status)
11
+ 2. Build LLM prompt from template
12
+ 3. Call LLM (Gemini → Claude → Ollama with fallback)
13
+ 4. Create [MACRO] commit with generated message
14
+
15
+ **Note:** This may take 15-60 seconds for large contexts as the LLM processes the git history.
16
+
17
+ Here is the current <state> of the repository:
18
+
19
+ <state>
20
+
21
+ - **Current Branch:** !`git branch --show-current`
22
+ - **Recent MICRO Commits:** !`git log --grep="MICRO" --format="%h|%ad|%s" --date=short -20 2>/dev/null || echo "None"`
23
+ - **Recent MACRO Commits:** !`git log --grep="MICRO" --invert-grep --format="%h|%ad|%s" --date=short -3 2>/dev/null || echo "None"`
24
+ - **Status:** !`git status --short`
25
+
26
+ </state>
27
+
28
+ ## Your Task
29
+
30
+ Execute the automated commit pipeline and handle the result:
31
+
32
+ <steps>
33
+
34
+ 1. **Execute commit-auto script**: Run `.claude/hooks/commit-auto.sh` and capture both stdout and exit code
35
+
36
+ 2. **Handle the result based on exit code**:
37
+
38
+ **If exit code 0 (Success):**
39
+ - LLM generated message and commit was created
40
+ - Display the commit using `git log -1 --format="%s%n%n%b"`
41
+ - Report which LLM was used (from script's stderr output)
42
+ - Inform user of success
43
+
44
+ **If exit code 2 (Passthrough - LLM unavailable):**
45
+ - The script output contains the enriched prompt (git context)
46
+ - Read the prompt from the script's stdout
47
+ - Use your analysis capabilities to generate a commit message following the macro commit format:
48
+ - Use conventional commit format: `type(scope): description`
49
+ - Add 2-4 paragraphs telling the development story
50
+ - Focus on the journey, iterations, and problem-solving
51
+ - Types: feat, fix, refactor, docs, test, chore
52
+ - Stage all changes with `git add -A`
53
+ - Create the commit with `[MACRO]` prefix using `git commit -m`
54
+ - Report that you generated the message (LLM was unavailable)
55
+
56
+ **If exit code 1 (Error):**
57
+ - Report the error from stderr
58
+ - Do NOT create a commit
59
+ - Suggest user check git status and try `/commit-macro` as fallback
60
+
61
+ 3. **Show final result**: Display the created commit hash and message to the user
62
+
63
+ </steps>
64
+
65
+ ## Notes
66
+
67
+ - The pipeline uses modular scripts in `.claude/hooks/lib/`
68
+ - Progress messages appear on stderr (you'll see "Calling Gemini...", etc.)
69
+ - LLM calls may take 30-60 seconds for large contexts (warnings will be shown)
70
+ - All [MICRO] commits remain in history; [MACRO] is a summary marker
71
+ - If LLM unavailable, you'll generate the message based on git context
@@ -0,0 +1,42 @@
1
+ ---
2
+ description: Creates a macro commit consolidating recent micro commits with LLM-generated summary
3
+ allowed-tools: Bash(.claude/hooks/macro-commit.sh:*), Bash(git branch:*), Bash(git log:*), Bash(git status:*)
4
+ argument-hint: ""
5
+ ---
6
+
7
+ ## Context
8
+
9
+ This command manually triggers the macro commit process which:
10
+ 1. Creates a [MACRO] commit that summarizes all [MICRO] commits since the last macro
11
+ 2. Generates commit message using LLM (synchronous, ~5-10 seconds)
12
+ 3. Bypasses automatic thresholds (micro count and time-based checks)
13
+
14
+ Here is the current <state> of the repository:
15
+
16
+ <state>
17
+
18
+ - **Current Branch:** !`git branch --show-current`
19
+ - **Recent Micro Commits:** !`git log --oneline --grep=MICRO -10`
20
+ - **Recent Macro Commits:** !`git log --oneline --grep=MACRO -3`
21
+ - **Status:** !`git status --short`
22
+
23
+ </state>
24
+
25
+ ## Your Task
26
+
27
+ Execute the macro commit script with force flag to bypass thresholds:
28
+
29
+ <steps>
30
+
31
+ 1. **Execute the macro commit script**: Run `.claude/hooks/macro-commit.sh --force`
32
+ 2. **Report the result**: Inform the user about the macro commit creation
33
+ 3. **Show the commit**: Display the final commit message using `git log -1 --format="%s%n%n%b"`
34
+
35
+ </steps>
36
+
37
+ ## Notes
38
+
39
+ - The `--force` flag bypasses automatic thresholds (minimum micro count and time checks)
40
+ - LLM message generation is synchronous (will block for a few seconds)
41
+ - If no LLM is available, falls back to simple auto-generated message
42
+ - All [MICRO] commits remain in history; [MACRO] is just a summary marker
@@ -0,0 +1,58 @@
1
+ ---
2
+ description: Generates and executes a git commit based on current changes.
3
+ allowed-tools: Bash(git add:.), Bash(git commit:*)
4
+ argument-hint: "[optional commit title]"
5
+ ---
6
+
7
+ ## Context
8
+
9
+ Here is the current <state> of the repository:
10
+
11
+ <state>
12
+
13
+ - **Current Branch:** !`git branch --show-current`
14
+ - **Staged and Unstaged Changes:**
15
+ !`git diff HEAD`
16
+ - **Recent Commits:**
17
+ !`git log --oneline -40`
18
+ - **Status:**
19
+ !`git status --short`
20
+
21
+ </state>
22
+
23
+ ## Your Task
24
+
25
+ Based on the context above, please perform the following <steps> one at a time:
26
+
27
+ <steps>
28
+
29
+ 1. **Analyze the changes and context** in the <state> thoroughly to understand the purpose, scope, and recent trajectroy of work in the repo.
30
+ 2. **Generate a commit message** following the Conventional Commits guidelines and any additional <additional_guidelines>. The user's argument is: `$ARGUMENTS`
31
+ 3. **Stage all current changes** by executing the `git add .` command.
32
+ 4. **Commit the staged changes** by executing the `git commit` command with the exact commit message you just generated. If there are no changes but a series of MICRO commite, make an empty commit summarizing the body of work (e.g. `--allow-empty`)
33
+
34
+ 5. Update the user with a message. Include the commit type and subject, then an even more abridged summary of the content in bulleted form.
35
+
36
+ </steps>
37
+
38
+
39
+ <additional_guidelines>
40
+ The message must include a type, a subject, and a detailed body.
41
+
42
+ If the user provided an argument, use it as the subject for the commit message.
43
+
44
+ Do not include anything about claude code
45
+
46
+ Include a initial prefix that is the robot emoji top indicate an agentic system created the commit
47
+ </additional_guidelines>
48
+
49
+ **IMPORTANT**
50
+
51
+ DO NOT EVER INCLUDE ANYTHING ABOUt CLAude coDE wRITING THE COMMIT.
52
+
53
+ for example never include:
54
+ ```
55
+ 🤖 Generated with [Claude Code](https://claude.com/claude-code)
56
+
57
+ Co-Authored-By: Claude <noreply@anthropic.com>
58
+ ```