-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconfig.example.env
More file actions
98 lines (75 loc) · 3.99 KB
/
Copy pathconfig.example.env
File metadata and controls
98 lines (75 loc) · 3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# TaskYouOS Configuration
# Copy this file to your project directory as config.env and fill in the values.
# === Required ===
# Machine-readable project name (used in file names, no spaces)
PROJECT_NAME="myproject"
# Human-readable project name
PROJECT_DISPLAY_NAME="My Project"
# Your first name (used in GM instructions, e.g. "Alice")
OWNER_NAME="YourName"
# Shell alias for launching the GM (e.g. "mygm")
GM_ALIAS="mygm"
# SSH connection string for the agents server.
# For a LOCAL server (the GM runs on the same machine as the TaskYou daemon,
# including macOS), set this to "local" (or "localhost"). In that mode setup
# skips SSH/systemd provisioning and the channel runs ty commands directly via
# bash -lc instead of over SSH. SERVER_HOME should then be your local $HOME.
SERVER_HOST="agents@your-server-ip"
# Username on the server
SERVER_USER="agents"
# Home directory on the server
SERVER_HOME="/home/agents"
# Comma-separated list of project names (these become git repos on the server)
PROJECTS="content,marketing,sales,operations"
# Local directory where the GM files will live
LOCAL_PROJECT_DIR="/Users/you/Projects/gms/myproject"
# Isolated Claude config directory (prevents conflicts with other Claude sessions)
CLAUDE_CONFIG_DIR="~/.claude-myproject"
# Git identity for agents on server
GIT_NAME="My Project Agents"
GIT_EMAIL="agents@myproject.com"
# Short description of your project (used in CLAUDE.md)
PROJECT_DESCRIPTION="My Project does X, Y, and Z."
# === Optional: Linear integration ===
# Set LINEAR_ENABLED=true to enable Linear handoff for human tasks
# LINEAR_ENABLED="true"
# LINEAR_API_KEY="lin_api_..."
# LINEAR_TEAM_ID="uuid-here"
# LINEAR_TEAM_KEY="MP"
# LINEAR_LABEL_ID="uuid-here" # ID of the "Agent Handoff" label
# LINEAR_STATE_ID="uuid-here" # ID of the "Todo" state
# LINEAR_WORKSPACE_URL="https://linear.app/myproject"
# LINEAR_TOKEN_AGENTS="lin_api_..." # Separate token for agents to post comments
# === Optional: Slack integration ===
# Set SLACK_ENABLED=true to manage TaskYou from Slack (see modules/slack/README.md).
# Two-way: task events get pushed to Slack; @mentions/DMs drive ty.
# Installs the ty-slack systemd service on the server (Socket Mode — no public URL).
# SLACK_ENABLED="true"
# SLACK_BOT_TOKEN="xoxb-..." # bot token: chat:write, app_mentions:read, im:history
# SLACK_APP_TOKEN="xapp-..." # app token (connections:write). Omit for outbound-only
# SLACK_NOTIFY_CHANNEL="#taskyou" # where task pings go when not tied to a Slack thread
# SLACK_ALLOWED_USERS="U012ABC,U034DEF" # Slack user IDs allowed to create/run tasks
# SLACK_PROJECT_MAP='{"#eng":"workflow","#content":"content"}' # Slack channel → ty project
# Intent classification uses the on-box `claude` CLI by default (claude.ai login —
# no API key, same tool the GM/executors use). It's hardened: no MCP/tools, a
# hard per-call cost cap, and a wall-clock timeout, so a single message can't
# trigger an agentic loop or runaway spend. With no claude CLI and no key it
# falls back to a keyword heuristic.
# SLACK_ANTHROPIC_API_KEY="sk-ant-..." # optional — use the Anthropic API instead of the CLI
# SLACK_CLASSIFIER_MODEL="claude-haiku-4-5-20251001"
# SLACK_CLASSIFY_BUDGET_USD="0.05" # hard $/call cap for claude -p classification
# SLACK_MAX_CONCURRENT="3" # max in-flight classifications (burst guard)
# === Optional: Cloudflare R2 asset hosting ===
# Set R2_ENABLED=true to enable R2 upload for deliverable assets
# R2_ENABLED="true"
# R2_BUCKET="myproject-assets"
# R2_PUBLIC_URL="https://pub-xxxx.r2.dev"
# === Optional: GitHub repos ===
# Maps project names to GitHub repos (org/repo format)
# Used for push/merge workflow and documented in CLAUDE.md
# GITHUB_REPOS="content:myorg/content-repo,marketing:myorg/marketing-repo"
# === Optional: exe.dev deployment ===
# Set EXE_DEV_ENABLED=true to deploy the GM onto an exe.dev VM
# instead of (or in addition to) a traditional server.
# EXE_DEV_ENABLED="true"
# EXE_DEV_VM_NAME="myproject-gm"