manigent 1.3.1__py3-none-any.whl
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.
- manigent/_manigent_plugin/LICENSE +21 -0
- manigent/_manigent_plugin/README.md +89 -0
- manigent/_manigent_plugin/references/cli-reference.md +349 -0
- manigent/_manigent_plugin/skills/bootstrap/SKILL.md +156 -0
- manigent/_manigent_plugin/skills/install-agent/SKILL.md +71 -0
- manigent/_manigent_plugin/skills/login/SKILL.md +68 -0
- manigent/_manigent_plugin/skills/logout/SKILL.md +46 -0
- manigent/_manigent_plugin/skills/register-agent/SKILL.md +212 -0
- manigent/_manigent_plugin/skills/register-assistant/SKILL.md +99 -0
- manigent/_manigent_plugin/skills/signup/SKILL.md +78 -0
- manigent/_manigent_plugin/skills/start/SKILL.md +56 -0
- manigent/_manigent_plugin/skills/stop/SKILL.md +37 -0
- manigent/api/action_executor.py +404 -0
- manigent/api/action_validator.py +531 -0
- manigent/api/actions.py +221 -0
- manigent/api/client.py +558 -0
- manigent/api/control.py +806 -0
- manigent/api/edge_protocol.py +123 -0
- manigent/api/fs_protocol.py +450 -0
- manigent/api/host_protocol.py +298 -0
- manigent/api/managed_job_client.py +124 -0
- manigent/api/responses.py +342 -0
- manigent/api/retry_transport.py +178 -0
- manigent/api/turn_protocol.py +78 -0
- manigent/cli.py +161 -0
- manigent/cli_brief.py +197 -0
- manigent/cli_browser.py +441 -0
- manigent/cli_caldav.py +125 -0
- manigent/cli_client.py +700 -0
- manigent/cli_daemon.py +229 -0
- manigent/cli_doctor.py +123 -0
- manigent/cli_env.py +270 -0
- manigent/cli_fs.py +469 -0
- manigent/cli_gcal.py +152 -0
- manigent/cli_gdrive.py +85 -0
- manigent/cli_gdrive_write.py +134 -0
- manigent/cli_gmail.py +226 -0
- manigent/cli_homekit.py +57 -0
- manigent/cli_http_api.py +181 -0
- manigent/cli_hub.py +506 -0
- manigent/cli_ib.py +155 -0
- manigent/cli_job.py +180 -0
- manigent/cli_knowledge_dir.py +48 -0
- manigent/cli_lifecycle.py +467 -0
- manigent/cli_mailbox.py +113 -0
- manigent/cli_media.py +144 -0
- manigent/cli_model_config.py +545 -0
- manigent/cli_oauth.py +218 -0
- manigent/cli_osxphotos.py +78 -0
- manigent/cli_plan.py +1639 -0
- manigent/cli_runner.py +5678 -0
- manigent/cli_skill.py +309 -0
- manigent/cli_sop.py +482 -0
- manigent/cli_todo.py +1165 -0
- manigent/doctor.py +1167 -0
- manigent/integrations/_config_resolve.py +98 -0
- manigent/integrations/auth/google_oauth.py +438 -0
- manigent/integrations/browser/_daemon.py +293 -0
- manigent/integrations/browser/_lib.py +1147 -0
- manigent/integrations/caldav/_lib.py +354 -0
- manigent/integrations/gcal/_lib.py +87 -0
- manigent/integrations/gdrive/_lib.py +104 -0
- manigent/integrations/gdrive_write/_lib.py +244 -0
- manigent/integrations/gmail/_lib.py +220 -0
- manigent/integrations/homekit/_lib.py +90 -0
- manigent/integrations/http_api/_client.py +447 -0
- manigent/integrations/ib/_lib.py +953 -0
- manigent/integrations/mailbox/_lib.py +508 -0
- manigent/integrations/media/_lib.py +725 -0
- manigent/integrations/osxphotos/_lib.py +152 -0
- manigent/llm/_harness_tools.py +408 -0
- manigent/llm/_openai_wire.py +257 -0
- manigent/llm/_structured_text.py +134 -0
- manigent/llm/antigravity_cli.py +473 -0
- manigent/llm/api_provider.py +1559 -0
- manigent/llm/base.py +1072 -0
- manigent/llm/claude_cli.py +550 -0
- manigent/llm/codex_cli.py +505 -0
- manigent/llm/gemini_cli.py +458 -0
- manigent/llm/native_harness.py +460 -0
- manigent/llm/opencode_cli.py +425 -0
- manigent/llm/pricing.py +91 -0
- manigent/llm/prompt_builder.py +2450 -0
- manigent/llm/smart_router.py +194 -0
- manigent/llm/triggers.py +68 -0
- manigent/mcp/config_resolve.py +52 -0
- manigent/mcp/servers/chess_server.py +389 -0
- manigent/mcp/servers/chess_view.html +272 -0
- manigent/models/agent.py +2905 -0
- manigent/models/agent_bundle.py +298 -0
- manigent/models/brief_tab.py +311 -0
- manigent/models/chat_message.py +231 -0
- manigent/models/chatroom.py +1108 -0
- manigent/models/context.py +1159 -0
- manigent/models/desk_label.py +836 -0
- manigent/models/desk_read_state.py +220 -0
- manigent/models/desk_sign_off.py +267 -0
- manigent/models/desk_sop.py +965 -0
- manigent/models/desk_todo.py +1603 -0
- manigent/models/desk_todo_link.py +404 -0
- manigent/models/file_cache.py +75 -0
- manigent/models/host.py +732 -0
- manigent/models/install_token.py +401 -0
- manigent/models/invitation_code.py +162 -0
- manigent/models/knowledge_pack.py +552 -0
- manigent/models/managed_job.py +295 -0
- manigent/models/model_config.py +564 -0
- manigent/models/model_defaults.py +238 -0
- manigent/models/onboarding_plan.py +161 -0
- manigent/models/participant.py +449 -0
- manigent/models/persistable.py +892 -0
- manigent/models/plan_markdown.py +1774 -0
- manigent/models/project.py +1343 -0
- manigent/models/project_plan.py +8104 -0
- manigent/models/project_report.py +145 -0
- manigent/models/provenance.py +261 -0
- manigent/models/provider_agents.py +101 -0
- manigent/models/public_request.py +108 -0
- manigent/models/reflection_schedule.py +191 -0
- manigent/models/scheduled_message.py +285 -0
- manigent/models/share_token.py +190 -0
- manigent/models/skill_version.py +31 -0
- manigent/models/sop_template.py +187 -0
- manigent/models/thinking_partner_plan.py +187 -0
- manigent/models/tunnel_binding.py +129 -0
- manigent/models/user.py +1276 -0
- manigent/models/work_tracker.py +510 -0
- manigent/runner/agent_dir_readmes.py +262 -0
- manigent/runner/cost_recorder.py +95 -0
- manigent/runner/egress_proxy.py +409 -0
- manigent/runner/home_fs.py +984 -0
- manigent/runner/home_fs_handler.py +257 -0
- manigent/runner/home_fs_win.py +410 -0
- manigent/runner/host_report.py +172 -0
- manigent/runner/invocation_registry.py +187 -0
- manigent/runner/job_supervisor.py +318 -0
- manigent/runner/knowledge_dir_migration.py +113 -0
- manigent/runner/knowledge_pack_manager.py +388 -0
- manigent/runner/mcp_manager.py +324 -0
- manigent/runner/model_auth_proxy.py +426 -0
- manigent/runner/netshim.py +109 -0
- manigent/runner/participant_notifier.py +404 -0
- manigent/runner/personal_skill_manager.py +38 -0
- manigent/runner/reactive_loop.py +1633 -0
- manigent/runner/references_index.py +150 -0
- manigent/runner/repo_push.py +189 -0
- manigent/runner/resync.py +113 -0
- manigent/runner/skill_manager.py +202 -0
- manigent/runner/system_skill_manager.py +140 -0
- manigent/runner/turn_capability.py +492 -0
- manigent/runner/turn_home.py +208 -0
- manigent/runner/turn_sandbox.py +645 -0
- manigent/runner/turn_scope.py +320 -0
- manigent/runner/turn_session.py +401 -0
- manigent/sync/changelog.py +885 -0
- manigent/sync/console_subscriber.py +222 -0
- manigent/sync/runloop.py +619 -0
- manigent/sync/runloop_manager.py +197 -0
- manigent/sync/subscriber.py +98 -0
- manigent/system_skills/author-brief-tab/SKILL.md +227 -0
- manigent/system_skills/author-brief-tab/manifest.json +6 -0
- manigent/system_skills/bootstrap/SKILL.md +156 -0
- manigent/system_skills/bootstrap/manifest.json +6 -0
- manigent/system_skills/canvas-design/LICENSE.txt +202 -0
- manigent/system_skills/canvas-design/SKILL.md +130 -0
- manigent/system_skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- manigent/system_skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- manigent/system_skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- manigent/system_skills/canvas-design/manifest.json +6 -0
- manigent/system_skills/coding-philosophy/SKILL.md +114 -0
- manigent/system_skills/coding-philosophy/manifest.json +6 -0
- manigent/system_skills/coding-plan/SKILL.md +248 -0
- manigent/system_skills/coding-plan/manifest.json +6 -0
- manigent/system_skills/coding-project-completion-report/SKILL.md +594 -0
- manigent/system_skills/coding-project-completion-report/manifest.json +6 -0
- manigent/system_skills/control-agent/SKILL.md +175 -0
- manigent/system_skills/control-agent/manifest.json +6 -0
- manigent/system_skills/control-computer/SKILL.md +182 -0
- manigent/system_skills/control-computer/manifest.json +6 -0
- manigent/system_skills/create-project/SKILL.md +282 -0
- manigent/system_skills/create-project/manifest.json +6 -0
- manigent/system_skills/decide-plan-as-owner/SKILL.md +165 -0
- manigent/system_skills/decide-plan-as-owner/manifest.json +6 -0
- manigent/system_skills/desk-sop/SKILL.md +296 -0
- manigent/system_skills/desk-sop/manifest.json +6 -0
- manigent/system_skills/desk-sop-publish/SKILL.md +70 -0
- manigent/system_skills/desk-sop-publish/manifest.json +6 -0
- manigent/system_skills/desk-todo/SKILL.md +272 -0
- manigent/system_skills/desk-todo/manifest.json +6 -0
- manigent/system_skills/desk-todo-publish/SKILL.md +150 -0
- manigent/system_skills/desk-todo-publish/manifest.json +6 -0
- manigent/system_skills/direct-message/SKILL.md +147 -0
- manigent/system_skills/direct-message/manifest.json +6 -0
- manigent/system_skills/env-var/SKILL.md +112 -0
- manigent/system_skills/env-var/manifest.json +6 -0
- manigent/system_skills/explain-as-page/SKILL.md +206 -0
- manigent/system_skills/explain-as-page/manifest.json +6 -0
- manigent/system_skills/fs/SKILL.md +101 -0
- manigent/system_skills/fs/manifest.json +6 -0
- manigent/system_skills/git-workflow/SKILL.md +211 -0
- manigent/system_skills/git-workflow/manifest.json +6 -0
- manigent/system_skills/install-agent/SKILL.md +71 -0
- manigent/system_skills/install-agent/manifest.json +6 -0
- manigent/system_skills/install-mcp/SKILL.md +59 -0
- manigent/system_skills/install-mcp/manifest.json +6 -0
- manigent/system_skills/install-skill/SKILL.md +110 -0
- manigent/system_skills/install-skill/manifest.json +6 -0
- manigent/system_skills/invoke-timeout/SKILL.md +95 -0
- manigent/system_skills/invoke-timeout/manifest.json +6 -0
- manigent/system_skills/isolation-check/SKILL.md +73 -0
- manigent/system_skills/isolation-check/manifest.json +6 -0
- manigent/system_skills/login/SKILL.md +68 -0
- manigent/system_skills/login/manifest.json +6 -0
- manigent/system_skills/logout/SKILL.md +46 -0
- manigent/system_skills/logout/manifest.json +6 -0
- manigent/system_skills/manage-project-roster/SKILL.md +134 -0
- manigent/system_skills/manage-project-roster/manifest.json +6 -0
- manigent/system_skills/manage-team/SKILL.md +165 -0
- manigent/system_skills/manage-team/manifest.json +6 -0
- manigent/system_skills/managed-background-job/SKILL.md +84 -0
- manigent/system_skills/managed-background-job/manifest.json +6 -0
- manigent/system_skills/onboard-agent/SKILL.md +320 -0
- manigent/system_skills/onboard-agent/manifest.json +6 -0
- manigent/system_skills/personalize-agent/SKILL.md +191 -0
- manigent/system_skills/personalize-agent/manifest.json +6 -0
- manigent/system_skills/personalize-assistant/SKILL.md +197 -0
- manigent/system_skills/personalize-assistant/manifest.json +6 -0
- manigent/system_skills/plan/SKILL.md +1032 -0
- manigent/system_skills/plan/manifest.json +6 -0
- manigent/system_skills/post-chat-message/SKILL.md +74 -0
- manigent/system_skills/post-chat-message/manifest.json +6 -0
- manigent/system_skills/project-completion-report/SKILL.md +381 -0
- manigent/system_skills/project-completion-report/manifest.json +6 -0
- manigent/system_skills/propose-project/SKILL.md +463 -0
- manigent/system_skills/propose-project/manifest.json +6 -0
- manigent/system_skills/reconfigure-agent/SKILL.md +159 -0
- manigent/system_skills/reconfigure-agent/manifest.json +6 -0
- manigent/system_skills/reflect/SKILL.md +296 -0
- manigent/system_skills/reflect/manifest.json +6 -0
- manigent/system_skills/register-agent/SKILL.md +212 -0
- manigent/system_skills/register-agent/manifest.json +6 -0
- manigent/system_skills/register-assistant/SKILL.md +99 -0
- manigent/system_skills/register-assistant/manifest.json +6 -0
- manigent/system_skills/relay-to-agent/SKILL.md +54 -0
- manigent/system_skills/relay-to-agent/manifest.json +6 -0
- manigent/system_skills/schedule-message/SKILL.md +120 -0
- manigent/system_skills/schedule-message/manifest.json +6 -0
- manigent/system_skills/signup/SKILL.md +78 -0
- manigent/system_skills/signup/manifest.json +6 -0
- manigent/system_skills/start/SKILL.md +56 -0
- manigent/system_skills/start/manifest.json +6 -0
- manigent/system_skills/stop/SKILL.md +37 -0
- manigent/system_skills/stop/manifest.json +6 -0
- manigent/system_skills/uninstall-mcp/SKILL.md +48 -0
- manigent/system_skills/uninstall-mcp/manifest.json +6 -0
- manigent/system_skills/uninstall-skill/SKILL.md +48 -0
- manigent/system_skills/uninstall-skill/manifest.json +6 -0
- manigent/system_skills/update-mcp-config/SKILL.md +86 -0
- manigent/system_skills/update-mcp-config/manifest.json +6 -0
- manigent/system_skills/update-skill-config/SKILL.md +87 -0
- manigent/system_skills/update-skill-config/manifest.json +6 -0
- manigent/utils/agent_processes.py +276 -0
- manigent/utils/agent_storage.py +125 -0
- manigent/utils/email.py +563 -0
- manigent/utils/env_store.py +174 -0
- manigent/utils/extra_dirs.py +85 -0
- manigent/utils/file_io.py +485 -0
- manigent/utils/invoke_timeout.py +87 -0
- manigent/utils/jsonc.py +78 -0
- manigent/utils/knowledge_index.py +148 -0
- manigent/utils/nofollow_fs.py +279 -0
- manigent/utils/notification_center.py +67 -0
- manigent/utils/version.py +57 -0
- manigent-1.3.1.dist-info/METADATA +150 -0
- manigent-1.3.1.dist-info/RECORD +357 -0
- manigent-1.3.1.dist-info/WHEEL +5 -0
- manigent-1.3.1.dist-info/entry_points.txt +2 -0
- manigent-1.3.1.dist-info/licenses/LICENSE +21 -0
- manigent-1.3.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: login
|
|
3
|
+
description: >
|
|
4
|
+
Log in to a manigent server and persist the session on this machine so
|
|
5
|
+
follow-up commands (`manigent assistant register`, `manigent agent
|
|
6
|
+
install`, `manigent start`) don't need credentials again. Use when users
|
|
7
|
+
say "log in", "login", "sign in", "remember me", or "switch user".
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Login
|
|
11
|
+
|
|
12
|
+
Log in to a Manigent server and save the session locally.
|
|
13
|
+
|
|
14
|
+
Saves a JWT into `~/.manigent/config/{username}/settings.json` and points
|
|
15
|
+
`current_user` at this account. The next two natural steps are
|
|
16
|
+
`/manigent:register-assistant` (create your assistant) and `/manigent:start`
|
|
17
|
+
(bring agents online). If you only want to clear the current session
|
|
18
|
+
without switching accounts, use `/manigent:logout`.
|
|
19
|
+
|
|
20
|
+
## Steps
|
|
21
|
+
|
|
22
|
+
1. **Check CLI is installed**:
|
|
23
|
+
```bash
|
|
24
|
+
command -v manigent >/dev/null 2>&1 || echo "MISSING"
|
|
25
|
+
```
|
|
26
|
+
If missing, tell the user to run `/manigent:bootstrap` first.
|
|
27
|
+
|
|
28
|
+
2. **Read existing config** (if any) to default the server URL:
|
|
29
|
+
```bash
|
|
30
|
+
DATA_DIR="${MANIGENT_DATA_DIR:-$HOME/.manigent}"
|
|
31
|
+
if [ -f "$DATA_DIR/config/current_user" ]; then
|
|
32
|
+
CURRENT_USER=$(cat "$DATA_DIR/config/current_user")
|
|
33
|
+
cat "$DATA_DIR/config/$CURRENT_USER/settings.json" 2>/dev/null
|
|
34
|
+
fi
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
3. **Ask for server URL** (only if not already set or the user wants to switch):
|
|
38
|
+
- Default: `https://manigent.ai`.
|
|
39
|
+
- If config already has `server_url` and the user isn't switching servers, reuse it.
|
|
40
|
+
|
|
41
|
+
4. **Ask for username and password**.
|
|
42
|
+
|
|
43
|
+
5. **Log in**:
|
|
44
|
+
```bash
|
|
45
|
+
manigent user login "<username>" "<password>" --save --server <url>
|
|
46
|
+
```
|
|
47
|
+
`--save` writes the token into `settings.json` and sets `current_user`
|
|
48
|
+
so follow-up commands work without re-authenticating.
|
|
49
|
+
- On HTTP 401: bad credentials — ask the user to re-enter, or remind
|
|
50
|
+
them to verify their email (post-signup the account exists but can't
|
|
51
|
+
log in until the verification link is clicked).
|
|
52
|
+
- On network error: check the server URL and connectivity, then retry.
|
|
53
|
+
|
|
54
|
+
6. **Confirm**: "Logged in as {username}. Run `/manigent:register-assistant`
|
|
55
|
+
to create your personal assistant, then `/manigent:start` to bring your
|
|
56
|
+
agents online."
|
|
57
|
+
|
|
58
|
+
## Notes
|
|
59
|
+
|
|
60
|
+
- Switching users: re-run `/manigent:login` with the other account's
|
|
61
|
+
credentials. `--save` flips `current_user` to the new account; the prior
|
|
62
|
+
user's `settings.json` is preserved (their agents/data are untouched).
|
|
63
|
+
- For shell pipelines that need the raw token (not session persistence),
|
|
64
|
+
omit `--save` — the CLI prints the JWT to stdout instead.
|
|
65
|
+
- The CLI never prints the password back. If `password` is captured in a
|
|
66
|
+
shell command, suggest running interactively (the CLI accepts positional
|
|
67
|
+
arguments, but a quick `read -s -p "Password: " p` keeps it out of
|
|
68
|
+
history).
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: logout
|
|
3
|
+
description: >
|
|
4
|
+
Log out of manigent. Clears the current user session but keeps all user
|
|
5
|
+
data and agent configurations. Use when users say "logout", "log out",
|
|
6
|
+
"manigent logout", or "switch account".
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Logout
|
|
10
|
+
|
|
11
|
+
Log out of the current Manigent session.
|
|
12
|
+
|
|
13
|
+
Clears the saved JWT token from `settings.json`. Does NOT stop running agents
|
|
14
|
+
(they have their own per-agent tokens) and does NOT delete any user data. To
|
|
15
|
+
switch users, just run `/manigent:login` with the other account's credentials
|
|
16
|
+
— `--save` flips `current_user` on login. Use this logout only when you want
|
|
17
|
+
to clear the session on a shared machine without switching to a new user.
|
|
18
|
+
|
|
19
|
+
## Steps
|
|
20
|
+
|
|
21
|
+
1. **Check CLI is installed**:
|
|
22
|
+
```bash
|
|
23
|
+
command -v manigent >/dev/null 2>&1 || echo "MISSING"
|
|
24
|
+
```
|
|
25
|
+
If missing, tell the user to run `/manigent:bootstrap` first.
|
|
26
|
+
|
|
27
|
+
2. **Log out**:
|
|
28
|
+
```bash
|
|
29
|
+
manigent user logout
|
|
30
|
+
```
|
|
31
|
+
Clears `user.token` from the current user's `settings.json`. The CLI will
|
|
32
|
+
print "Not logged in" if no `current_user` is set — in that case, tell the
|
|
33
|
+
user they are already logged out.
|
|
34
|
+
|
|
35
|
+
3. **Optional: also clear the current_user pointer**:
|
|
36
|
+
If the user says "completely log out" or "forget me", add `--clear-current-user`:
|
|
37
|
+
```bash
|
|
38
|
+
manigent user logout --clear-current-user
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
4. **Confirm**: "Logged out. Run `/manigent:login` to log in again."
|
|
42
|
+
|
|
43
|
+
## Notes
|
|
44
|
+
|
|
45
|
+
- Running agents are unaffected. To stop them too, suggest `/manigent:stop`.
|
|
46
|
+
- To log out a specific user (not the current one): `manigent user logout --user <name>`.
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: register-agent
|
|
3
|
+
description: >
|
|
4
|
+
Register a new AI agent with a manigent server under the current user.
|
|
5
|
+
Requires being logged in first. Use when users say "register agent",
|
|
6
|
+
"add agent", "create agent", or "new manigent agent".
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Register Agent
|
|
10
|
+
|
|
11
|
+
Register a new AI agent under the current logged-in user.
|
|
12
|
+
|
|
13
|
+
Requires being logged in — run `/manigent:login` first if you aren't.
|
|
14
|
+
Unlike `/manigent:login`, this skill does not re-prompt for a password: it
|
|
15
|
+
uses the saved JWT session, making it the fast path for adding a single
|
|
16
|
+
agent to an already-logged-in user. The agent's credential + card are
|
|
17
|
+
written to `{data_dir}/agents/{name}-{id}/`; `manigent start` picks it
|
|
18
|
+
up on the next run.
|
|
19
|
+
|
|
20
|
+
**This skill only provisions.** The new agent comes up with an empty
|
|
21
|
+
`memory/learnings/`. If you also want it to *start knowing something* — a
|
|
22
|
+
mentor agent's brief on the job, its own deep research on the domain, both
|
|
23
|
+
distilled into its durable memory — follow **`onboard-agent`** instead: it
|
|
24
|
+
wraps this same registration in a short project where that can actually
|
|
25
|
+
happen. Use this skill when the user just wants the agent to exist.
|
|
26
|
+
|
|
27
|
+
## Steps
|
|
28
|
+
|
|
29
|
+
1. **Check CLI and login**:
|
|
30
|
+
```bash
|
|
31
|
+
command -v manigent >/dev/null 2>&1 || echo "MISSING_CLI"
|
|
32
|
+
DATA_DIR="${MANIGENT_DATA_DIR:-$HOME/.manigent}"
|
|
33
|
+
CURRENT_USER=$(cat "$DATA_DIR/config/current_user" 2>/dev/null)
|
|
34
|
+
```
|
|
35
|
+
- If CLI missing: tell the user to run `/manigent:bootstrap`.
|
|
36
|
+
- If no current_user: "You need to log in first. Run `/manigent:login`."
|
|
37
|
+
|
|
38
|
+
2. **Ask for agent details**:
|
|
39
|
+
- Agent name (required, lowercase letters/digits/underscores)
|
|
40
|
+
- Description (required) — do NOT just take a bare phrase and pass it
|
|
41
|
+
through. From the name/role the user gives, **draft** a specific 1–2
|
|
42
|
+
sentence description and show it for confirmation ("Here's how I'd
|
|
43
|
+
describe this agent — good, or tweak it?"). Only fall back to the user's
|
|
44
|
+
raw phrase if they decline your draft.
|
|
45
|
+
- Capabilities (comma-separated) — **infer and propose** a concrete list
|
|
46
|
+
(aim for 5–8 items) from the role/name; don't leave it blank just because
|
|
47
|
+
the user didn't volunteer any. Show the proposed list for confirmation.
|
|
48
|
+
A rich list powers delegation matching, the agent's summary card, and the
|
|
49
|
+
personalize CTA prefill — a thin/empty one degrades all three.
|
|
50
|
+
- Knowledge directory (optional, absolute path; create it if the user approves and it doesn't exist)
|
|
51
|
+
- **Git repo** (optional, but ask whenever the role is engineering-shaped —
|
|
52
|
+
backend, frontend, data, devops, anything that will write code). The repo
|
|
53
|
+
URL or path binds the agent to a codebase; without it the agent's
|
|
54
|
+
`git-workflow` skill has nothing to clone and it cannot contribute code
|
|
55
|
+
at all. Phrase it lightly: *"Which repo should this agent work in?
|
|
56
|
+
(URL or path — leave blank if it won't write code)"*. Optionally also ask
|
|
57
|
+
which branch new work should be cut from, if they don't want the repo
|
|
58
|
+
default.
|
|
59
|
+
- **LLM backend** (optional, default `claude`). Three modes:
|
|
60
|
+
- Route automatically with `smart`, using the agent's other named model
|
|
61
|
+
configs in their listed priority order and falling back only when replay
|
|
62
|
+
is known to be safe.
|
|
63
|
+
- Shell an installed Code CLI: `claude` (default), `openai`, `gemini`,
|
|
64
|
+
`opencode`, `antigravity`.
|
|
65
|
+
- Run in-process with the user's own API key — no CLI binary needed:
|
|
66
|
+
`claude-api`, `openai-api`, `gemini-api`, `openrouter-api`,
|
|
67
|
+
`openrouter-native`.
|
|
68
|
+
|
|
69
|
+
Ask only if the user hasn't already stated a preference. Phrase it
|
|
70
|
+
lightly: *"Which LLM should this agent use? (default claude — or a
|
|
71
|
+
BYO-key variant like `claude-api` / `openrouter-api` if you'd rather it
|
|
72
|
+
ran on your own API key)"*
|
|
73
|
+
- **LLM model** (optional): provider-specific override. Skip for Claude
|
|
74
|
+
(uses Claude Code's default). For OpenAI/Codex, common values are
|
|
75
|
+
`o3`, `o3-mini`, `gpt-5-codex`. For Gemini, common values are
|
|
76
|
+
`gemini-2.5-pro`, `gemini-2.5-flash`. For `opencode`, a
|
|
77
|
+
`<provider>/<model>` slug. For `antigravity`, a **bare** slug such as
|
|
78
|
+
`gemini-3.1-pro-high` (no `provider/` prefix — the `-high`/`-medium`/`-low`
|
|
79
|
+
suffix is the reasoning effort). For `openrouter-api`, an OpenRouter slug. If
|
|
80
|
+
the user has no preference, skip — each provider has a sensible default.
|
|
81
|
+
- **`antigravity` prerequisite** (only if they pick it): the binary is
|
|
82
|
+
**`agy`**, not `antigravity`, and its auth is Google OAuth held in the
|
|
83
|
+
system keyring — nothing passes through manigent. A human must run `agy`
|
|
84
|
+
**once, interactively, on each runner box** to complete the sign-in before
|
|
85
|
+
an `antigravity`-backed agent can run there. Say this out loud when the
|
|
86
|
+
user picks it; it is the same constraint `opencode` carries.
|
|
87
|
+
- **API key** (only for a `-api` / `-native` provider): ask for it, or
|
|
88
|
+
confirm the matching env var (`ANTHROPIC_API_KEY` / `OPENAI_API_KEY` /
|
|
89
|
+
`GEMINI_API_KEY` / `OPENROUTER_API_KEY`) is already set on the machine
|
|
90
|
+
that will run the agent.
|
|
91
|
+
- **Local model** (optional): if the user wants this agent on a local
|
|
92
|
+
endpoint (ollama, vLLM, LM Studio), take the base URL. It pairs with
|
|
93
|
+
`openai-api` (an OpenAI-compatible `/v1` URL) or with the bare `claude`
|
|
94
|
+
CLI (an Anthropic Messages-API URL, **no** `/v1`).
|
|
95
|
+
- **Teams** (optional): one or more owner-defined labels for the TEAMS
|
|
96
|
+
sidebar. Ask only if the user mentions grouping. Phrase it lightly:
|
|
97
|
+
*"Any teams to file this agent under in the sidebar? (e.g. Marketing,
|
|
98
|
+
Outbound — leave blank for none)"*
|
|
99
|
+
|
|
100
|
+
3. **Register the agent**:
|
|
101
|
+
```bash
|
|
102
|
+
manigent agent register "<name>" "<description>" \
|
|
103
|
+
--capabilities "<caps>" \
|
|
104
|
+
--knowledge-dir "<path>" \
|
|
105
|
+
--git-url "<repo>" --git-base-branch "<branch>" \
|
|
106
|
+
--llm-provider "<provider>" \
|
|
107
|
+
--llm-model "<model>" \
|
|
108
|
+
--team "<team1>" --team "<team2>"
|
|
109
|
+
```
|
|
110
|
+
The CLI reads the server URL and user token from the logged-in user's
|
|
111
|
+
`settings.json` automatically and writes `credential.json` + `card.json`
|
|
112
|
+
to `{data_dir}/agents/{username}-{name}-{id}/`. `manigent start` picks
|
|
113
|
+
up the new agent on the next run by globbing that directory — no
|
|
114
|
+
`agents[]` registry to update.
|
|
115
|
+
|
|
116
|
+
- Pass the confirmed `--capabilities` list. Omit ONLY if the user, shown
|
|
117
|
+
your proposed list, explicitly declined — don't drop it just because they
|
|
118
|
+
didn't volunteer capabilities up front.
|
|
119
|
+
- Pass `--knowledge-dir` if the user gave one. It lands in `card.json`
|
|
120
|
+
`local_settings` from this call — the runner then passes the directory to
|
|
121
|
+
the LLM as a read-only extra dir and indexes it into
|
|
122
|
+
`memory/REFERENCES.md`. **Do not skip this flag and assume the directory
|
|
123
|
+
is picked up by convention; it isn't.** (To change it later:
|
|
124
|
+
`manigent agent reconfigure <name> --knowledge-dir <path>`.)
|
|
125
|
+
- Pass `--git-url` for any code-writing agent, plus `--git-base-branch` if
|
|
126
|
+
they named a non-default base. Both land in `local_settings` and surface
|
|
127
|
+
to the agent as `$MANIGENT_AGENT_GIT_URL` /
|
|
128
|
+
`$MANIGENT_AGENT_GIT_BASE_BRANCH`.
|
|
129
|
+
- Omit `--llm-provider` to use the default (`claude`). The CLI validates it
|
|
130
|
+
against `claude`, `openai`, `gemini`, `opencode`, `antigravity`,
|
|
131
|
+
`claude-api`, `openai-api`, `gemini-api`, `openrouter-api`,
|
|
132
|
+
`openrouter-native` and rejects anything else.
|
|
133
|
+
- Omit `--llm-model` to use the provider's default model.
|
|
134
|
+
- For a `-api` / `-native` provider, add `--llm-api-key "<key>"` unless the
|
|
135
|
+
provider's standard env var is already set on the runner machine. For a
|
|
136
|
+
local endpoint, add `--llm-base-url "<url>"`.
|
|
137
|
+
- Omit `--team` if the user didn't ask for grouping. The flag is repeatable;
|
|
138
|
+
pass it once per team. Defaults to `$MANIGENT_AGENT_TEAMS` (comma-separated)
|
|
139
|
+
if no `--team` flag is given.
|
|
140
|
+
- Agents are **private by default**. Add `--discoverable` ONLY if the user
|
|
141
|
+
explicitly wants this agent published in the public registry where other
|
|
142
|
+
accounts can find and delegate to it.
|
|
143
|
+
- If the CLI errors with "--token is required", the user's session has expired — ask them to run `/manigent:login` again.
|
|
144
|
+
|
|
145
|
+
4. **Set up a `CLAUDE.md` in the knowledge directory** (only if knowledge_dir was provided):
|
|
146
|
+
```bash
|
|
147
|
+
if [ -n "$KB_DIR" ] && [ ! -f "$KB_DIR/CLAUDE.md" ]; then
|
|
148
|
+
# Write the knowledge base template below to $KB_DIR/CLAUDE.md
|
|
149
|
+
fi
|
|
150
|
+
```
|
|
151
|
+
**Knowledge base CLAUDE.md template:**
|
|
152
|
+
```markdown
|
|
153
|
+
# Knowledge Base
|
|
154
|
+
|
|
155
|
+
This directory is your persistent knowledge base. Files saved here persist across projects and conversations.
|
|
156
|
+
|
|
157
|
+
## When to Save
|
|
158
|
+
|
|
159
|
+
Save to this directory when a user asks you to:
|
|
160
|
+
- "Save this to your knowledge base"
|
|
161
|
+
- "Remember this for later"
|
|
162
|
+
- "Add this to your knowledge"
|
|
163
|
+
|
|
164
|
+
## How to Save
|
|
165
|
+
|
|
166
|
+
1. Read the source content (from chatroom files, sandbox, or user's message)
|
|
167
|
+
2. Use the Write tool to save the file to THIS directory
|
|
168
|
+
3. Use a descriptive filename (e.g., `api-design-notes.md`, `competitor-analysis.md`)
|
|
169
|
+
4. Include a brief header noting the source (project name, date, chatroom)
|
|
170
|
+
5. Reply confirming what was saved and the filename
|
|
171
|
+
|
|
172
|
+
## How to Use
|
|
173
|
+
|
|
174
|
+
When working on new tasks, check this directory for relevant reference material.
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
5. **Recommend skills** (opt-in — do this after `agent register` succeeds,
|
|
178
|
+
before the final confirm):
|
|
179
|
+
```bash
|
|
180
|
+
manigent skill list
|
|
181
|
+
```
|
|
182
|
+
Using the description and capabilities you confirmed in Step 2, pick the
|
|
183
|
+
**2–4 best-fit skills** — match on each skill's name / summary / tags /
|
|
184
|
+
description, and skip anything already implied by the agent's built-in
|
|
185
|
+
capabilities. Present them as an opt-in shortlist, one line of *why* each:
|
|
186
|
+
|
|
187
|
+
> *Based on this agent's profile, I'd suggest installing:*
|
|
188
|
+
> - `<skill>` — <one-line reason>
|
|
189
|
+
> - `<skill>` — <one-line reason>
|
|
190
|
+
>
|
|
191
|
+
> *Want all of these, a subset, or none?*
|
|
192
|
+
|
|
193
|
+
On the user's yes, install the accepted set in one call (bare `<name>`
|
|
194
|
+
from Step 2 — the CLI resolves it via the saved session):
|
|
195
|
+
```bash
|
|
196
|
+
manigent skill install "<name>" <skill1> [<skill2> ...]
|
|
197
|
+
```
|
|
198
|
+
If nothing in the catalog is a clear fit, say so and skip — don't pad the
|
|
199
|
+
list to hit a count. The catalog is server-curated, so everything it
|
|
200
|
+
returns is already vetted; ranking here is relevance-only.
|
|
201
|
+
|
|
202
|
+
6. **Confirm**: "Agent '{name}' registered and linked to {current_user}. Run `/manigent:start` to start the runner."
|
|
203
|
+
|
|
204
|
+
If the user seems to expect the agent to already know something about the
|
|
205
|
+
job, say plainly that it starts with an empty memory and offer the
|
|
206
|
+
`onboard-agent` path (a mentor brief and/or its own deep research,
|
|
207
|
+
distilled into its `learnings/`).
|
|
208
|
+
|
|
209
|
+
## Error Handling
|
|
210
|
+
|
|
211
|
+
- If registration fails (name taken, invalid token), show the CLI's error and ask to retry.
|
|
212
|
+
- If the CLI warns "no current_user and no --as-user", tell the user to `/manigent:login` first and retry.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: register-assistant
|
|
3
|
+
description: >
|
|
4
|
+
Create the current user's personal assistant agent
|
|
5
|
+
(`{username}-assistant`) on the manigent server and write its
|
|
6
|
+
credential + card locally. Sets up the daily reflection schedule and
|
|
7
|
+
(by default) posts the personalize-trigger DM so the assistant
|
|
8
|
+
interviews you for USER.md on first run. Use when users say "register assistant",
|
|
9
|
+
"create my assistant", "set up assistant", or after they finish
|
|
10
|
+
`/manigent:login`.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Register Assistant
|
|
14
|
+
|
|
15
|
+
Create your personal assistant — the coordinator that plans and delegates
|
|
16
|
+
work to your specialized worker agents.
|
|
17
|
+
|
|
18
|
+
Requires being logged in. If you aren't, run `/manigent:login` first.
|
|
19
|
+
The assistant is a single per-user agent named `{username}-assistant`;
|
|
20
|
+
re-running this skill is idempotent (the server preserves the existing
|
|
21
|
+
agent's token and just refreshes local files / settings).
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
1. **Check CLI and current_user**:
|
|
26
|
+
```bash
|
|
27
|
+
command -v manigent >/dev/null 2>&1 || echo "MISSING_CLI"
|
|
28
|
+
DATA_DIR="${MANIGENT_DATA_DIR:-$HOME/.manigent}"
|
|
29
|
+
CURRENT_USER=$(cat "$DATA_DIR/config/current_user" 2>/dev/null)
|
|
30
|
+
```
|
|
31
|
+
- If CLI missing: tell the user to run `/manigent:bootstrap`.
|
|
32
|
+
- If no `current_user`: tell the user to run `/manigent:login`.
|
|
33
|
+
|
|
34
|
+
2. **Ask the user (each optional — only ask if they haven't already stated a preference):**
|
|
35
|
+
- **LLM backend** (default `claude`): one of `claude`, `openai`,
|
|
36
|
+
`gemini`, `opencode`, or `antigravity`. Phrase it lightly:
|
|
37
|
+
*"Which LLM should your assistant use?
|
|
38
|
+
(claude / openai / gemini / opencode / antigravity, default claude)"*
|
|
39
|
+
- **LLM model** (optional): provider-specific override. Skip for Claude
|
|
40
|
+
(uses Claude Code's default). For OpenAI/Codex, common values are
|
|
41
|
+
`o3`, `o3-mini`, `gpt-5-codex`. For Gemini, common values are
|
|
42
|
+
`gemini-2.5-pro`, `gemini-2.5-flash`. If the user has no preference,
|
|
43
|
+
skip — each provider has a sensible default.
|
|
44
|
+
- **Daily reflection time** (default `09:00`): when to fire the
|
|
45
|
+
account-level reflection schedule that consolidates the day's
|
|
46
|
+
activity into `learnings/`. Phrase it lightly: *"What local time
|
|
47
|
+
should your assistant reflect each day? (HH:MM, default 09:00)"*
|
|
48
|
+
- **Bootstrap interview** (default no — opt-in): a one-shot interview
|
|
49
|
+
that populates `USER.md` from your public profile + answers. Enable
|
|
50
|
+
with `--auto-personalize` only if the user wants it to run on first
|
|
51
|
+
launch; otherwise it stays reachable via the DM's **Personalize** button.
|
|
52
|
+
|
|
53
|
+
3. **Register the assistant**:
|
|
54
|
+
```bash
|
|
55
|
+
manigent assistant register \
|
|
56
|
+
--llm-provider "<provider>" \
|
|
57
|
+
--llm-model "<model>" \
|
|
58
|
+
--self-learning-daily-at "<HH:MM>"
|
|
59
|
+
```
|
|
60
|
+
The CLI:
|
|
61
|
+
- Reads the saved JWT from `settings.json` automatically (no `-u/-p`
|
|
62
|
+
needed when `current_user` is set).
|
|
63
|
+
- Registers `{username}-assistant` on the server; auto-creates the DM
|
|
64
|
+
project on first registration.
|
|
65
|
+
- Writes `credential.json` + `card.json` under
|
|
66
|
+
`~/.manigent/agents/{username}-assistant-{id}/`.
|
|
67
|
+
- Upserts the account-level reflection schedule (`--reflect-timezone`
|
|
68
|
+
defaults to your host TZ; pass it explicitly only if you want a
|
|
69
|
+
different timezone).
|
|
70
|
+
- With `--auto-personalize`: posts `<!-- manigent:personalize-trigger -->`
|
|
71
|
+
into your assistant DM so the assistant variant of
|
|
72
|
+
`/manigent:personalize` kicks off USER.md on first run. Off by default.
|
|
73
|
+
|
|
74
|
+
Add `--auto-personalize` only if the user wants the interview to run on
|
|
75
|
+
first launch; otherwise tell them to click **Personalize** in the DM when
|
|
76
|
+
ready.
|
|
77
|
+
|
|
78
|
+
4. **Handle errors**:
|
|
79
|
+
- "not logged in" → run `/manigent:login` and retry.
|
|
80
|
+
- "--llm-provider must be one of ..." → re-prompt for a valid value.
|
|
81
|
+
- Anything else: show the CLI's error and ask the user how to proceed.
|
|
82
|
+
|
|
83
|
+
5. **Confirm**: "Assistant '{username}-assistant' registered. Run
|
|
84
|
+
`/manigent:start` to bring it online; the interview will kick off in
|
|
85
|
+
your DM as soon as the runner connects."
|
|
86
|
+
|
|
87
|
+
## Notes
|
|
88
|
+
|
|
89
|
+
- Re-running this skill against an existing assistant is safe: the server
|
|
90
|
+
re-emits the same token, the local files are refreshed, and the
|
|
91
|
+
reflection schedule is upserted with the new values. It does NOT re-fire
|
|
92
|
+
the interview (the personalize skill's assistant variant gates on
|
|
93
|
+
USER.md existence).
|
|
94
|
+
- The reflection schedule is **per-user**, not per-agent. Re-running with
|
|
95
|
+
a new `--self-learning-daily-at` updates the user-wide schedule that fans out
|
|
96
|
+
to every owned agent.
|
|
97
|
+
- Adding worker agents (not the assistant) goes through
|
|
98
|
+
`/manigent:register-agent` (one you define) or `/manigent:install-agent`
|
|
99
|
+
(a ready-made specialist from the agent pool, one at a time).
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: signup
|
|
3
|
+
description: >
|
|
4
|
+
Register a new user account on a manigent server. After registration, the user
|
|
5
|
+
must verify their email before logging in. Use when users say "signup",
|
|
6
|
+
"sign up", "register account", "new account", or "sign up for manigent".
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Signup
|
|
10
|
+
|
|
11
|
+
Register a new user account on a Manigent server.
|
|
12
|
+
|
|
13
|
+
After registration, the user must verify their email before they can log in.
|
|
14
|
+
|
|
15
|
+
## Configuration
|
|
16
|
+
|
|
17
|
+
Config is stored at `~/.manigent/config/{username}/settings.json`.
|
|
18
|
+
|
|
19
|
+
## Steps
|
|
20
|
+
|
|
21
|
+
1. **Check CLI installation**: Run `command -v manigent` to verify the CLI is installed.
|
|
22
|
+
- If not found: tell the user to run `/manigent:bootstrap` first, then re-invoke this skill. Do NOT `pip install` directly — the bootstrap skill handles cross-platform install via `uv`.
|
|
23
|
+
|
|
24
|
+
2. **Read existing config** (if any):
|
|
25
|
+
```bash
|
|
26
|
+
DATA_DIR="${MANIGENT_DATA_DIR:-$HOME/.manigent}"
|
|
27
|
+
if [ -f "$DATA_DIR/config/current_user" ]; then
|
|
28
|
+
CURRENT_USER=$(cat "$DATA_DIR/config/current_user")
|
|
29
|
+
cat "$DATA_DIR/config/$CURRENT_USER/settings.json" 2>/dev/null
|
|
30
|
+
fi
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
3. **Ask for server URL** (only if not already set in config):
|
|
34
|
+
- Default: `https://manigent.ai`
|
|
35
|
+
- If config already has `server_url`, confirm or skip.
|
|
36
|
+
|
|
37
|
+
4. **Ask for username, password, email, and invitation code**:
|
|
38
|
+
- Usernames must be alphanumeric with underscores only (no hyphens), minimum 5 characters
|
|
39
|
+
- Invitation code is required for self-registration
|
|
40
|
+
- Inform the user: "By registering, you agree to our Terms of Service (https://manigent.ai/tos) and Privacy Policy (https://manigent.ai/privacy)."
|
|
41
|
+
|
|
42
|
+
5. **Register**:
|
|
43
|
+
```bash
|
|
44
|
+
manigent user register "<username>" "<password>" "<email>" --invitation-code "<code>" --agree-tos --server <url>
|
|
45
|
+
```
|
|
46
|
+
The `--agree-tos` flag is included because the user was informed of the terms in step 4.
|
|
47
|
+
- **If registration fails**: read the error, explain it, ask for corrected value:
|
|
48
|
+
- "Username must be at least 5 characters" -> ask for a longer username
|
|
49
|
+
- "Username cannot contain hyphens" -> suggest replacing `-` with `_`
|
|
50
|
+
- "already registered" -> ask for a different username or email
|
|
51
|
+
- "Invalid or missing invitation code" -> ask for a valid code. If user doesn't have one, suggest emailing info@manigent.ai
|
|
52
|
+
- Retry until successful or user cancels.
|
|
53
|
+
|
|
54
|
+
6. **Save server_url to config** (do NOT save token — email not verified yet):
|
|
55
|
+
```bash
|
|
56
|
+
python3 -c "
|
|
57
|
+
import json, os
|
|
58
|
+
from pathlib import Path
|
|
59
|
+
data_dir = Path(os.environ.get('MANIGENT_DATA_DIR', os.path.expanduser('~/.manigent')))
|
|
60
|
+
# Save server_url to a minimal settings.json for this user
|
|
61
|
+
config_path = data_dir / 'config' / '$USERNAME' / 'settings.json'
|
|
62
|
+
config_path.parent.mkdir(parents=True, exist_ok=True)
|
|
63
|
+
config = json.loads(config_path.read_text()) if config_path.exists() else {'user': {'username': '$USERNAME'}}
|
|
64
|
+
config['server_url'] = '$SERVER_URL'
|
|
65
|
+
config_path.write_text(json.dumps(config, indent=2))
|
|
66
|
+
"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
7. **Tell the user**:
|
|
70
|
+
"A verification email has been sent to your email address. Please check your inbox (and spam folder) and click the verification link. Once verified, run `/manigent:login` to log in, then `/manigent:register-assistant` to create your personal assistant. `/manigent:install-agent` (optional) adds a ready-made specialist agent from the agent pool."
|
|
71
|
+
|
|
72
|
+
## No Invitation Code?
|
|
73
|
+
|
|
74
|
+
If the user doesn't have an invitation code, suggest joining the waitlist at the signup page (`/app/signup`) or emailing `info@manigent.ai` for expedited access.
|
|
75
|
+
|
|
76
|
+
## Error Handling
|
|
77
|
+
|
|
78
|
+
- If `manigent` is not on PATH after bootstrap, suggest adding `~/.local/bin` to PATH (uv's default tool install prefix)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: start
|
|
3
|
+
description: >
|
|
4
|
+
Start manigent agent runner(s) for the current logged-in user. Launches
|
|
5
|
+
background processes that connect to the server and process work.
|
|
6
|
+
Use when users say "start manigent", "start agent", "run agent",
|
|
7
|
+
"manigent start", or "launch runner".
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Start Agents
|
|
11
|
+
|
|
12
|
+
Start agent runner(s) for the current logged-in user.
|
|
13
|
+
|
|
14
|
+
Delegates to `manigent start`, which reads the user's `settings.json`, starts
|
|
15
|
+
each configured agent as a background process, and manages PID files under
|
|
16
|
+
each agent's data directory.
|
|
17
|
+
|
|
18
|
+
## Steps
|
|
19
|
+
|
|
20
|
+
1. **Check `manigent` is installed**:
|
|
21
|
+
```bash
|
|
22
|
+
command -v manigent >/dev/null 2>&1 && manigent --version
|
|
23
|
+
```
|
|
24
|
+
- If `command -v` fails or the command is not found, tell the user to run
|
|
25
|
+
`/manigent:bootstrap` first.
|
|
26
|
+
|
|
27
|
+
2. **Verify a user is logged in**:
|
|
28
|
+
```bash
|
|
29
|
+
DATA_DIR="${MANIGENT_DATA_DIR:-$HOME/.manigent}"
|
|
30
|
+
[ -f "$DATA_DIR/config/current_user" ] && cat "$DATA_DIR/config/current_user"
|
|
31
|
+
```
|
|
32
|
+
- If empty: "You need to log in first. Run `/manigent:login`."
|
|
33
|
+
|
|
34
|
+
3. **Start all agents for the current user**:
|
|
35
|
+
```bash
|
|
36
|
+
manigent start
|
|
37
|
+
```
|
|
38
|
+
- Safe to re-run — already-running agents are reported and skipped.
|
|
39
|
+
- To start as a different user: `manigent start --user <username>`
|
|
40
|
+
- To override the server URL: `manigent start --server https://...`
|
|
41
|
+
|
|
42
|
+
4. **Report status**:
|
|
43
|
+
```bash
|
|
44
|
+
manigent status
|
|
45
|
+
```
|
|
46
|
+
Summarize to the user: how many agents are running, their names, and the
|
|
47
|
+
dashboard URL printed by `manigent start`.
|
|
48
|
+
|
|
49
|
+
## Notes
|
|
50
|
+
|
|
51
|
+
- The CLI writes PID files to `{agent_dir}/agent.pid`. Do not manage PIDs by
|
|
52
|
+
hand — let `manigent start`/`stop`/`status` own that state.
|
|
53
|
+
- To stop agents: `/manigent:stop`.
|
|
54
|
+
- Per-agent selection (starting just one agent from the config) is not yet
|
|
55
|
+
supported by the CLI. If the user asks for that, suggest stopping the rest
|
|
56
|
+
after `manigent start`, or register only the desired agent.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: stop
|
|
3
|
+
description: >
|
|
4
|
+
Stop manigent agent runner(s) for the current logged-in user.
|
|
5
|
+
Use when users say "stop manigent", "stop agent", "kill runner",
|
|
6
|
+
"manigent stop", or "shut down agent".
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Stop Agents
|
|
10
|
+
|
|
11
|
+
Stop agent runner(s) for the current logged-in user.
|
|
12
|
+
|
|
13
|
+
Delegates to `manigent stop`, which reads the user's `settings.json`, finds
|
|
14
|
+
each agent's PID file under `{agent_dir}/agent.pid`, and signals the process.
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
1. **Check `manigent` is installed**:
|
|
19
|
+
```bash
|
|
20
|
+
command -v manigent >/dev/null 2>&1
|
|
21
|
+
```
|
|
22
|
+
- If missing, tell the user to run `/manigent:bootstrap` first.
|
|
23
|
+
|
|
24
|
+
2. **Stop all agents for the current user**:
|
|
25
|
+
```bash
|
|
26
|
+
manigent stop
|
|
27
|
+
```
|
|
28
|
+
- To stop a different user's agents: `manigent stop --user <username>`
|
|
29
|
+
|
|
30
|
+
3. **Report the result**: echo the CLI output to the user (it tells how many
|
|
31
|
+
agents were stopped, or "No agents were running.").
|
|
32
|
+
|
|
33
|
+
## Notes
|
|
34
|
+
|
|
35
|
+
- Do not touch PID files by hand. The CLI owns that state.
|
|
36
|
+
- To check what is currently running without stopping: `manigent status`.
|
|
37
|
+
- To start agents again: `/manigent:start`.
|