* chore: add hooks and guidelines to reduce agent friction
Add prompt hooks to .claude/settings.json to enforce:
- Worktree path safety (reject reads from main clone)
- Local-first search (reject WebFetch for repo content)
- Shared content awareness (remind about content/shared/)
Add agent and documentation guidelines:
- doc-triage-agent: search rules for local-first, worktree-aware,
shared content, and parallel search
- AGENTS.md: worktree awareness and search patterns sections
- influxdb3-test-setup skill: Enterprise unavailable troubleshooting
- init-influxdb3.sh: placeholder email validation and startup health check
Addresses friction points identified in session analysis for #6991.
* chore: replace prompt hook with deterministic worktree path check
Replace the prompt-based worktree path hook with a command hook that
uses git plumbing (rev-parse --git-dir vs --git-common-dir) to detect
worktrees and block reads targeting the main clone. Works regardless
of where the worktree is located on disk.
Also add git, fzf, and common shell utilities to project allow list,
and clean up settings.local.json (remove phantom tools, duplicates).
* chore: add yarn install hooks for worktree and session start
WorktreeCreate: always install deps (new worktree needs them)
SessionStart: install only if node_modules missing (async, non-blocking)
Both skip Cypress binary and use --frozen-lockfile.
* refactor(test): parameterize container paths for host-runner support
Enable test scripts to run both inside Docker containers (existing
behavior) and directly on the host/CI runner by replacing hardcoded
/src, /app, and /shared paths with environment variables that default
to the container values.
- Parameterize REPO_ROOT, WORK_DIR, SHARED_DIR, ENV_FILE in run-tests.sh
- Parameterize REPO_ROOT, WORK_DIR in prepare-content.sh
- Move log_file from pytest.ini to --override-ini in run-tests.sh
- Pin influxdb3-python-cli to v0.3.2 (was unpinned @main)
- Fix shellcheck warnings: quote $file, backticks to $(), while-read loop
* Update test/pytest/requirements.txt
* test(influxdb3): Improve InfluxDB 3 Core and Enterprise Docker services
Improve Docker Compose services and initialization script for testing InfluxDB 3 Core and Enterprise endpoints.
compose.yaml changes:
- Add influxdb3-core service with per-worktree data isolation
- Add influxdb3-core-noauth service for endpoint testing without auth
- Add influxdb3-enterprise service with trial license configuration
- Fix env_file handling (use optional path, remove variable override)
- Add detailed usage comments for each service
New files:
- test/scripts/init-influxdb3.sh: Helper script to initialize services,
create directories, and validate configuration
- Enterprise configuration uses shared data at ~/influxdata-docs/.influxdb3/
to persist license and data across worktrees.
- .claude/skills/influxdb3-test-setup/SKILL.md. It covers:
1. Architecture overview - Shows the directory structure for shared vs per-worktree data
2. Quick reference - Common commands table
3. Setup workflows - Core only, Enterprise only, or both
4. Worktree-specific databases - How to create isolated databases named after the worktree
5. Test environment configuration - Setting up .env.test files for code block tests
6. Troubleshooting - Common issues (license, auth, ports)
7. Service comparison - Core vs Enterprise differences
The skill references the init script but keeps database creation as a separate workflow step, allowing flexibility for different testing scenarios.
* docs(copilot): Document influxdb3-test-setup skill in Copilot instructions (#6751)
* Initial plan
* docs(copilot): Add influxdb3-test-setup skill documentation to instructions
- Add InfluxDB 3 Test Setup subsection under Testing section with quick reference commands
- Add Skills section under Specialized Instructions with all available skills
- Document influxdb3-test-setup skill alongside existing skills (cypress-e2e-testing, docs-cli-workflow, hugo-template-dev)
- Include links to skill files and brief descriptions for discoverability
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* chore(ci): Refactor InfluxDB 3 token handling to use JSON secrets
- Store Core and Enterprise tokens as JSON files with metadata
- Update SKILL.md instructions for jq-based token extraction
- Use Docker secrets for secure token mounting in compose.yaml
- Update init-influxdb3.sh to generate JSON token files
- Refactor compose.yaml to mount token files as secrets, not binds
- Standardize API examples and environment setup for new token format
* docs(influxdb3): Update token documentation for Docker Compose and CI/CD (#6756)
- Add 'description' field to offline admin token schema alongside 'expiry_millis'
- Add new section for Docker Compose with preconfigured admin tokens
- Document Docker secrets for secure token management
- Add CI/CD setup instructions using environment variables
- Standardize on INFLUXDB3_AUTH_TOKEN environment variable
Both 'description' and 'expiry_millis' are optional fields supported
by the InfluxDB 3 server when reading preconfigured token files.
* Revert "docs(influxdb3): Update token documentation for Docker Compose and CI…" (#6757)
This reverts commit 5c786ac2fd.
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
- Example uses Subject Alternative Name extension required by modern clients.
- Updated example is more verbose, but should work cross-platform.
- Added troubleshooting steps.
- Passes tests.
- Reformatted to headings and remove list nesting.
- Fixes sidebar navigation for API pages, moving the v1-compatibility Hugo page into Develop with the API.
- Makes titles consistent for API reference docs.
- Disables linkify autolinking of URLs and email addresses to prevent autolinking example email addresses (I audited content to make sure we don't rely on the autolinking behavior; we use explicit HTML/MD syntax for links)
- Uses standard placeholders and adds test setup for v1-compat write and query.
- Clean up Markdown
- Adds home-sensor-data.lp to Downloads (thought it was already there)
- Updates Telegraf install instructions, adds more info to promote verifying downloads.
- Adds setup for tests.
- Makes tests pass in install and configuration docs.
- Adds Vale.sh exception to allow duration values inside code blocks.
- Adds Dockerfiles for convenience to test install procedures in CentOS and Ubuntu.
- Clarifies and fixes config file handling and specifying input and output plugins.
- Fix the http-write-timeout definition, which should be similar to https://pkg.go.dev/net/http#Server.WriteTimeout
- Add a Vale spelling config for v2 server options
- Add influxdb to the test container packages (for testing service influxdb...)
- Add Dockerfile config and test setup for testing some InfluxDB startup config options (using influxd)
- Pre-commit hook:
- Redo test harness so commands can run in parallel
- Cleanup Vale command args
- Replace lint-staged and husky with Lefthook.
- Pre-push hook:
- Scan for package vulnerabilities
- Tests
- Run tests on demand, in parallel, or debugged using docker compose up, run, exec, etc.
- Each test container (service) runs the prepare-content script before running tests.
- Return to using Python instead of Docker to provide environment variables so they don't get exposed in Docker inspect.
- Bind mount influxctl config.toml and .env.test files
- Bind mount scripts for faster builds while iterating on test scripts.
- Vale:
- Override Acronyms style def--ignore acronym if it's linked.