@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.
@@ -17,6 +17,7 @@ var TASK_SLUGS = {
17
17
  RUN_TESTS: "run-tests",
18
18
  VERIFY_CHANGES: "verify-changes",
19
19
  TRIAGE_RESULTS: "triage-results",
20
+ EXPLORE_TEST_CODEBASE: "explore-test-codebase",
20
21
  /** @deprecated Use ONBOARD_TESTING instead */
21
22
  FULL_TEST_COVERAGE: "onboard-testing"
22
23
  };
@@ -1906,6 +1907,93 @@ Output this JSON as the final result of the task.`
1906
1907
  dependentTasks: []
1907
1908
  };
1908
1909
 
1910
+ // src/tasks/library/explore-test-codebase.ts
1911
+ var exploreTestCodebaseTask = {
1912
+ slug: TASK_SLUGS.EXPLORE_TEST_CODEBASE,
1913
+ name: "Explore Test Codebase",
1914
+ description: "Analyze external test repository to understand framework, coverage, and conventions",
1915
+ frontmatter: {
1916
+ description: "Analyze external test codebase for BYOT onboarding",
1917
+ "argument-hint": "--focus [area]"
1918
+ },
1919
+ steps: [
1920
+ // Step 1: Overview (inline)
1921
+ {
1922
+ inline: true,
1923
+ title: "Explore Test Codebase Overview",
1924
+ 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.`
1925
+ },
1926
+ // Step 2: Security Notice
1927
+ "security-notice",
1928
+ // Step 3: Arguments (inline)
1929
+ {
1930
+ inline: true,
1931
+ title: "Arguments",
1932
+ content: `**Arguments**: $ARGUMENTS
1933
+
1934
+ **Parse:**
1935
+ - **focus**: specific area to analyze (default: comprehensive)`
1936
+ },
1937
+ // Setup
1938
+ "load-project-context",
1939
+ "read-knowledge-base",
1940
+ // Core analysis
1941
+ "analyze-test-codebase",
1942
+ // Generate results parser for normalizing test output
1943
+ "create-results-parser",
1944
+ // Optional: explore the app itself if URL is available
1945
+ {
1946
+ inline: true,
1947
+ title: "App Exploration (Optional)",
1948
+ 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:
1949
+
1950
+ 1. Navigate to the app URL
1951
+ 2. Identify main navigation and key pages
1952
+ 3. Map discovered features to test coverage from the codebase analysis
1953
+ 4. Note any features that appear untested
1954
+
1955
+ This step helps correlate what the tests cover with what the application actually contains. Skip if no app URL is available.`,
1956
+ conditionalOnSubagent: "browser-automation"
1957
+ },
1958
+ // Generate output
1959
+ {
1960
+ inline: true,
1961
+ title: "Commit Analysis Results",
1962
+ content: `Commit all analysis artifacts to the project repository:
1963
+
1964
+ 1. The test codebase analysis report (\`.bugzy/runtime/test-codebase-analysis.md\`)
1965
+ 2. Any generated CLAUDE.md draft (if the external repo was missing one)
1966
+
1967
+ Use a clear commit message: "chore: analyze external test codebase"
1968
+
1969
+ These artifacts will be available to all future task executions for this project.`
1970
+ },
1971
+ // Team Communication (conditional)
1972
+ {
1973
+ inline: true,
1974
+ title: "Team Communication",
1975
+ content: `{{INVOKE_TEAM_COMMUNICATOR}} to notify the team about the test codebase analysis:
1976
+
1977
+ \`\`\`
1978
+ 1. Post a summary of the analysis findings
1979
+ 2. Include key information:
1980
+ - Test framework and runner identified
1981
+ - Number of test files and estimated test cases
1982
+ - Feature areas covered by existing tests
1983
+ - Any gaps or areas without test coverage
1984
+ 3. Ask if the analysis looks accurate
1985
+ 4. Use appropriate channel and threading
1986
+ \`\`\``,
1987
+ conditionalOnSubagent: "team-communicator"
1988
+ },
1989
+ // Maintenance
1990
+ "update-knowledge-base"
1991
+ ],
1992
+ requiredSubagents: ["browser-automation"],
1993
+ optionalSubagents: ["team-communicator"],
1994
+ dependentTasks: []
1995
+ };
1996
+
1909
1997
  // src/tasks/index.ts
1910
1998
  var TASK_TEMPLATES = {
1911
1999
  [TASK_SLUGS.GENERATE_TEST_CASES]: generateTestCasesTask,
@@ -1916,7 +2004,8 @@ var TASK_TEMPLATES = {
1916
2004
  [TASK_SLUGS.VERIFY_CHANGES]: verifyChangesTask,
1917
2005
  [TASK_SLUGS.ONBOARD_TESTING]: onboardTestingTask,
1918
2006
  [TASK_SLUGS.EXPLORE_APPLICATION]: exploreApplicationTask,
1919
- [TASK_SLUGS.TRIAGE_RESULTS]: triageResultsTask
2007
+ [TASK_SLUGS.TRIAGE_RESULTS]: triageResultsTask,
2008
+ [TASK_SLUGS.EXPLORE_TEST_CODEBASE]: exploreTestCodebaseTask
1920
2009
  };
1921
2010
  function getTaskTemplate(slug) {
1922
2011
  return TASK_TEMPLATES[slug];