@bugzy-ai/bugzy 1.18.1 → 1.18.2

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.
@@ -49,6 +49,7 @@ var TASK_SLUGS = {
49
49
  RUN_TESTS: "run-tests",
50
50
  VERIFY_CHANGES: "verify-changes",
51
51
  TRIAGE_RESULTS: "triage-results",
52
+ EXPLORE_TEST_CODEBASE: "explore-test-codebase",
52
53
  /** @deprecated Use ONBOARD_TESTING instead */
53
54
  FULL_TEST_COVERAGE: "onboard-testing"
54
55
  };
@@ -1938,6 +1939,93 @@ Output this JSON as the final result of the task.`
1938
1939
  dependentTasks: []
1939
1940
  };
1940
1941
 
1942
+ // src/tasks/library/explore-test-codebase.ts
1943
+ var exploreTestCodebaseTask = {
1944
+ slug: TASK_SLUGS.EXPLORE_TEST_CODEBASE,
1945
+ name: "Explore Test Codebase",
1946
+ description: "Analyze external test repository to understand framework, coverage, and conventions",
1947
+ frontmatter: {
1948
+ description: "Analyze external test codebase for BYOT onboarding",
1949
+ "argument-hint": "--focus [area]"
1950
+ },
1951
+ steps: [
1952
+ // Step 1: Overview (inline)
1953
+ {
1954
+ inline: true,
1955
+ title: "Explore Test Codebase Overview",
1956
+ content: `Analyze the external test repository to understand the testing framework, test coverage, conventions, and codebase structure. This task is triggered during BYOT (Bring Your Own Tests) onboarding to help Bugzy understand the customer's existing test suite.`
1957
+ },
1958
+ // Step 2: Security Notice
1959
+ "security-notice",
1960
+ // Step 3: Arguments (inline)
1961
+ {
1962
+ inline: true,
1963
+ title: "Arguments",
1964
+ content: `**Arguments**: $ARGUMENTS
1965
+
1966
+ **Parse:**
1967
+ - **focus**: specific area to analyze (default: comprehensive)`
1968
+ },
1969
+ // Setup
1970
+ "load-project-context",
1971
+ "read-knowledge-base",
1972
+ // Core analysis
1973
+ "analyze-test-codebase",
1974
+ // Generate results parser for normalizing test output
1975
+ "create-results-parser",
1976
+ // Optional: explore the app itself if URL is available
1977
+ {
1978
+ inline: true,
1979
+ title: "App Exploration (Optional)",
1980
+ content: `If the project has an app URL configured (check \`.bugzy/runtime/project-context.md\` or env vars for TEST_APP_HOST), {{INVOKE_BROWSER_AUTOMATION}} to briefly explore the application:
1981
+
1982
+ 1. Navigate to the app URL
1983
+ 2. Identify main navigation and key pages
1984
+ 3. Map discovered features to test coverage from the codebase analysis
1985
+ 4. Note any features that appear untested
1986
+
1987
+ This step helps correlate what the tests cover with what the application actually contains. Skip if no app URL is available.`,
1988
+ conditionalOnSubagent: "browser-automation"
1989
+ },
1990
+ // Generate output
1991
+ {
1992
+ inline: true,
1993
+ title: "Commit Analysis Results",
1994
+ content: `Commit all analysis artifacts to the project repository:
1995
+
1996
+ 1. The test codebase analysis report (\`.bugzy/runtime/test-codebase-analysis.md\`)
1997
+ 2. Any generated CLAUDE.md draft (if the external repo was missing one)
1998
+
1999
+ Use a clear commit message: "chore: analyze external test codebase"
2000
+
2001
+ These artifacts will be available to all future task executions for this project.`
2002
+ },
2003
+ // Team Communication (conditional)
2004
+ {
2005
+ inline: true,
2006
+ title: "Team Communication",
2007
+ content: `{{INVOKE_TEAM_COMMUNICATOR}} to notify the team about the test codebase analysis:
2008
+
2009
+ \`\`\`
2010
+ 1. Post a summary of the analysis findings
2011
+ 2. Include key information:
2012
+ - Test framework and runner identified
2013
+ - Number of test files and estimated test cases
2014
+ - Feature areas covered by existing tests
2015
+ - Any gaps or areas without test coverage
2016
+ 3. Ask if the analysis looks accurate
2017
+ 4. Use appropriate channel and threading
2018
+ \`\`\``,
2019
+ conditionalOnSubagent: "team-communicator"
2020
+ },
2021
+ // Maintenance
2022
+ "update-knowledge-base"
2023
+ ],
2024
+ requiredSubagents: ["browser-automation"],
2025
+ optionalSubagents: ["team-communicator"],
2026
+ dependentTasks: []
2027
+ };
2028
+
1941
2029
  // src/tasks/index.ts
1942
2030
  var TASK_TEMPLATES = {
1943
2031
  [TASK_SLUGS.GENERATE_TEST_CASES]: generateTestCasesTask,
@@ -1948,7 +2036,8 @@ var TASK_TEMPLATES = {
1948
2036
  [TASK_SLUGS.VERIFY_CHANGES]: verifyChangesTask,
1949
2037
  [TASK_SLUGS.ONBOARD_TESTING]: onboardTestingTask,
1950
2038
  [TASK_SLUGS.EXPLORE_APPLICATION]: exploreApplicationTask,
1951
- [TASK_SLUGS.TRIAGE_RESULTS]: triageResultsTask
2039
+ [TASK_SLUGS.TRIAGE_RESULTS]: triageResultsTask,
2040
+ [TASK_SLUGS.EXPLORE_TEST_CODEBASE]: exploreTestCodebaseTask
1952
2041
  };
1953
2042
  function getTaskTemplate(slug) {
1954
2043
  return TASK_TEMPLATES[slug];