@@ -57,72 +57,81 @@ jobs:
5757 git config user.name "github-actions[bot]"
5858 git config user.email "github-actions[bot]@users.noreply.github.com"
5959
60- - name : Generate resource with Claude (research + implement)
61- uses : anthropics/claude-code-action@v1
62- with :
63- claude_code_oauth_token : ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
64- claude_args : " --allowedTools Bash,Read,Edit,Write,WebSearch,WebFetch --max-turns 60"
65- prompt : |
66- You are implementing a new Codify resource requested by the community.
67-
68- Issue #${{ github.event.issue.number }}: ${{ github.event.issue.title }}
69-
70- Issue details:
71- ${{ github.event.issue.body }}
72-
73- Resource slug: ${{ steps.extract-info.outputs.resource-name }}
74-
75- ═══════════════════════════════════════
76- ## PHASE 1: RESEARCH
77- ═══════════════════════════════════════
78-
79- Use WebSearch and WebFetch to thoroughly research this tool. If those tools
80- are unavailable, use bash curl to fetch pages.
81-
82- Research must cover:
83- - Official installation method for macOS (homebrew preferred if available)
84- - Official installation method for Linux (apt/snap/manual/script)
85- - Any dependencies or prerequisites
86- - Key CLI commands and configuration options users would manage declaratively
87- - Common use cases — identify if sub-resources or stateful parameters make sense
88- (e.g. homebrew manages packages via formulae/casks stateful params;
89- asdf manages plugins and versions as sub-resources)
90- - Default values for any configuration settings
91-
92- Write your complete research to /tmp/research-notes.md before proceeding.
93-
94- ═══════════════════════════════════════
95- ## PHASE 2: IMPLEMENTATION
96- ═══════════════════════════════════════
97-
98- Read /tmp/research-notes.md, then read CLAUDE.md in the repo root. Follow
99- every convention described in CLAUDE.md — it is the authoritative guide.
100-
101- Implement the complete resource:
102-
103- 1. Create src/resources/<category>/<resource-slug>/ containing:
104- - Resource class (TypeScript) extending Resource<Config>
105- - Use Zod schema (not JSON Schema) — types are inferred automatically
106- - Implement getSettings(), refresh(), create(), modify(), destroy()
107- - Add defaultConfig and exampleConfigs following CLAUDE.md spec exactly
108- - Use Utils from @codifycli/plugin-core (not local utils) for OS detection
109- and package installation
110- - Never hardcode brew/apt commands — use Utils.installViaPkgMgr()
111-
112- 2. Register the new resource in src/index.ts (import + add to Plugin.create array)
113-
114- 3. Write an integration test in test/<category>/<resource-slug>.test.ts
115- - Follow the PluginTester.fullTest() pattern from other test files
116- - Include validateApply, testModify (where applicable), and validateDestroy
117-
118- 4. Write documentation in docs/resources/<resource-slug>/
119- - Match the structure of existing resource docs
120-
121- 5. Verify TypeScript is clean:
122- Run: npx tsx --noEmit src/index.ts
123- Fix all TypeScript errors before finishing.
124-
125- Do NOT run any git commands — the workflow handles committing.
60+ - name : Make a change
61+ run : |
62+ touch temp-file.md
63+
64+ # - name: Generate resource with Claude (research + implement)
65+ # uses: anthropics/claude-code-action@v1
66+ # with:
67+ # claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
68+ # claude_args: "--allowedTools Bash,Read,Edit,Write,WebSearch,WebFetch --max-turns 60"
69+ # prompt: |
70+ # You are implementing a new Codify resource requested by the community.
71+ #
72+ # Issue #${{ github.event.issue.number }}: ${{ github.event.issue.title }}
73+ #
74+ # Issue details:
75+ # ${{ github.event.issue.body }}
76+ #
77+ # Resource slug: ${{ steps.extract-info.outputs.resource-name }}
78+ #
79+ # ═══════════════════════════════════════
80+ # ## PHASE 1: RESEARCH
81+ # ═══════════════════════════════════════
82+ #
83+ # Use WebSearch and WebFetch to thoroughly research this tool. If those tools
84+ # are unavailable, use bash curl to fetch pages.
85+ #
86+ # Research must cover:
87+ # - Official installation method for macOS (homebrew preferred if available)
88+ # - Official installation method for Linux (apt/snap/manual/script)
89+ # - Any dependencies or prerequisites
90+ # - Key CLI commands and configuration options users would manage declaratively
91+ # - Common use cases — identify if sub-resources or stateful parameters make sense
92+ # (e.g. homebrew manages packages via formulae/casks stateful params;
93+ # asdf manages plugins and versions as sub-resources)
94+ # - Default values for any configuration settings
95+ #
96+ # Write your complete research to /tmp/research-notes.md before proceeding.
97+ #
98+ # ═══════════════════════════════════════
99+ # ## PHASE 2: IMPLEMENTATION
100+ # ═══════════════════════════════════════
101+ #
102+ # Read /tmp/research-notes.md, then read CLAUDE.md in the repo root. Follow
103+ # every convention described in CLAUDE.md — it is the authoritative guide.
104+ #
105+ # Implement the complete resource:
106+ #
107+ # 1. Create src/resources/<category>/<resource-slug>/ containing:
108+ # - Resource class (TypeScript) extending Resource<Config>
109+ # - Use Zod schema (not JSON Schema) — types are inferred automatically
110+ # - Implement getSettings(), refresh(), create(), modify(), destroy()
111+ # - Add defaultConfig and exampleConfigs following CLAUDE.md spec exactly
112+ # - Use Utils from @codifycli/plugin-core (not local utils) for OS detection
113+ # and package installation
114+ # - Never hardcode brew/apt commands — use Utils.installViaPkgMgr()
115+ #
116+ # 2. Register the new resource in src/index.ts (import + add to Plugin.create array)
117+ #
118+ # 3. Write an integration test in test/<category>/<resource-slug>.test.ts
119+ # - Follow the PluginTester.fullTest() pattern from other test files
120+ # - Include validateApply, testModify (where applicable), and validateDestroy
121+ #
122+ # 4. Write documentation in docs/resources/<resource-slug>/
123+ # - Match the structure of existing resource docs
124+ #
125+ # 5. Verify TypeScript is clean:
126+ # Run: npx tsx --noEmit src/index.ts
127+ # Fix all TypeScript errors before finishing.
128+ #
129+ # Do NOT run any git commands — the workflow handles committing.
130+
131+ - name : Restore git remote auth
132+ env :
133+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
134+ run : git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git
126135
127136 - name : Commit and push generated code
128137 id : auto-commit
0 commit comments