{"_id":"@alejandrosnz/n8n-community-node-starter","_rev":"3-79839a4eee85cceda4e3ea23f35977c4","name":"@alejandrosnz/n8n-community-node-starter","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.1":{"name":"@alejandrosnz/n8n-community-node-starter","version":"0.1.1","keywords":["n8n-community-node-package","n8n-nodes","typescript","boilerplate","n8n-agents","workflow-automation"],"author":{"name":"Alejandro Sanz","email":"your-email@example.com"},"license":"MIT","_id":"@alejandrosnz/n8n-community-node-starter@0.1.1","maintainers":[{"name":"alejandrosnz","email":"alxbck1@gmail.com"}],"homepage":"https://github.com/alejandrosnz/n8n-community-node-starter","bugs":{"url":"https://github.com/alejandrosnz/n8n-community-node-starter/issues"},"n8n":{"nodes":["dist/nodes/ExampleService/ExampleService.node.js"],"credentials":["dist/credentials/ExampleServiceApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"dba3f6f721ed39f34843b3a43e05ce6d04e2cdbe","tarball":"https://registry.npmjs.org/@alejandrosnz/n8n-community-node-starter/-/n8n-community-node-starter-0.1.1.tgz","fileCount":47,"integrity":"sha512-WfIDNp2lNTWJwOInD3fIcIwPbGx0uOvGu7KCzIZmf0/y9Ko8jCgOErs6Y22kh/j8jZbscalyd2UZ0PhsBDUokQ==","signatures":[{"sig":"MEUCICKmUcAbZatiSlSC75uh16IoReLhhOfORG/5wPrukPRSAiEAg8qo3uIAs+VuWvRkRdqD5/9MOLJ3+ZC+hesw3SM0o+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128570},"main":"index.js","engines":{"node":">=20.15"},"gitHead":"e5071fbaf804ac6be55c7212a835b0304d3842ae","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","test":"jest --runInBand","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"alejandrosnz","email":"alxbck1@gmail.com"},"repository":{"url":"git+https://github.com/alejandrosnz/n8n-community-node-starter.git","type":"git"},"_npmVersion":"10.9.4","description":"Starter template for n8n community nodes","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","nock":"^14.0.10","eslint":"9.32.0","ts-jest":"29.1.1","prettier":"3.6.2","babel-jest":"29.7.0","release-it":"^19.0.4","typescript":"5.9.2","@babel/core":"7.22.10","@types/jest":"29.5.3","@n8n/node-cli":"*","@babel/preset-env":"7.22.10","babel-plugin-add-import-extension":"^1.6.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-community-node-starter_0.1.1_1767818507445_0.8473974000409827","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@alejandrosnz/n8n-community-node-starter","version":"0.1.2","keywords":["n8n-community-node-package","n8n-nodes","typescript","boilerplate","n8n-agents","workflow-automation"],"author":{"name":"Alejandro Sanz","email":"your-email@example.com"},"license":"MIT","_id":"@alejandrosnz/n8n-community-node-starter@0.1.2","maintainers":[{"name":"alejandrosnz","email":"alxbck1@gmail.com"}],"homepage":"https://github.com/alejandrosnz/n8n-community-node-starter","bugs":{"url":"https://github.com/alejandrosnz/n8n-community-node-starter/issues"},"n8n":{"nodes":["dist/nodes/ExampleService/ExampleService.node.js"],"credentials":["dist/credentials/ExampleServiceApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"53a5336696aa704d7410562878328f94a5c0c1d5","tarball":"https://registry.npmjs.org/@alejandrosnz/n8n-community-node-starter/-/n8n-community-node-starter-0.1.2.tgz","fileCount":47,"integrity":"sha512-anGsaP4F6v14g3230jC0h6TuaQLxPJrRCi7z+sBXOcap7GpCylgaY4Psz8LlyH0oYxBwANPFxf/LjCbbiQCeaw==","signatures":[{"sig":"MEUCIQD7rNEIMWcaocBHx87nvinljfvkjSQ03RoM64GWTiY/7wIgFi34kh+QBs43lqeDFwslBqVOFu/1UccbfWDanPthBh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128570},"main":"index.js","engines":{"node":">=20.15"},"gitHead":"5bb98eb5de77b73e50c16d497476a2e7fda4015c","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","test":"jest --runInBand","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","test:watch":"jest --watch","type-check":"tsc --noEmit","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"alejandrosnz","email":"alxbck1@gmail.com"},"repository":{"url":"git+https://github.com/alejandrosnz/n8n-community-node-starter.git","type":"git"},"_npmVersion":"10.9.4","description":"Starter template for n8n community nodes","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","nock":"^14.0.10","eslint":"9.32.0","ts-jest":"29.1.1","prettier":"3.6.2","babel-jest":"29.7.0","release-it":"^19.0.4","typescript":"5.9.2","@babel/core":"7.22.10","@types/jest":"29.5.3","@n8n/node-cli":"*","@babel/preset-env":"7.22.10","babel-plugin-add-import-extension":"^1.6.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-community-node-starter_0.1.2_1767823864542_0.22492708005642048","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@alejandrosnz/n8n-community-node-starter","version":"0.2.1","description":"Starter template for n8n community nodes","keywords":["n8n-community-node-package","n8n-nodes","typescript","boilerplate","n8n-agents","workflow-automation"],"license":"MIT","homepage":"https://github.com/alejandrosnz/n8n-community-node-starter","author":{"name":"Alejandro Sanz","email":"your-email@example.com"},"repository":{"type":"git","url":"git+https://github.com/alejandrosnz/n8n-community-node-starter.git"},"publishConfig":{"access":"public"},"engines":{"node":">=20.15"},"main":"index.js","scripts":{"build":"n8n-node build","test":"jest --runInBand","test:watch":"jest --watch","build:watch":"tsc --watch","dev":"n8n-node dev","lint":"n8n-node lint","lint:fix":"n8n-node lint --fix","type-check":"tsc --noEmit","release":"n8n-node release","prepublishOnly":"n8n-node prerelease"},"n8n":{"n8nNodesApiVersion":1,"credentials":["dist/credentials/ExampleServiceApi.credentials.js"],"nodes":["dist/nodes/ExampleService/ExampleService.node.js"]},"devDependencies":{"@babel/core":"7.22.10","@babel/preset-env":"7.22.10","@n8n/node-cli":"*","@types/jest":"29.5.3","babel-jest":"29.7.0","babel-plugin-add-import-extension":"^1.6.0","eslint":"9.32.0","jest":"29.7.0","nock":"^14.0.10","prettier":"3.6.2","release-it":"^19.0.4","ts-jest":"29.1.1","typescript":"5.9.2"},"peerDependencies":{"n8n-workflow":"*"},"_id":"@alejandrosnz/n8n-community-node-starter@0.2.1","gitHead":"97160af1914b2f36e9aaa9d0e4fd3e396efcdeb8","bugs":{"url":"https://github.com/alejandrosnz/n8n-community-node-starter/issues"},"_nodeVersion":"22.21.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-8rNnOhOf80p0IHEBA9/EPv6Pt8GXek0D81RH663tCdDDZjBsDWRcYAfeWh9z1t4M4VnLeXa29NLG76iXdWi0kw==","shasum":"cbdf9ee019049d3eb0e78491c974eead122a1436","tarball":"https://registry.npmjs.org/@alejandrosnz/n8n-community-node-starter/-/n8n-community-node-starter-0.2.1.tgz","fileCount":47,"unpackedSize":128570,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICFa9dy34XQZQIwn4rW79yPCUVlz/8+5DUuU2hY4dlMcAiAWzEC68eFfihqyzJEokLOEOKIjQ41W/0SWnO8q2RZvKw=="}]},"_npmUser":{"name":"alejandrosnz","email":"alxbck1@gmail.com"},"directories":{},"maintainers":[{"name":"alejandrosnz","email":"alxbck1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-community-node-starter_0.2.1_1767823942065_0.9028478018594028"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-07T20:41:47.331Z","modified":"2026-01-07T22:12:22.477Z","0.1.1":"2026-01-07T20:41:47.585Z","0.1.2":"2026-01-07T22:11:04.747Z","0.2.1":"2026-01-07T22:12:22.235Z"},"bugs":{"url":"https://github.com/alejandrosnz/n8n-community-node-starter/issues"},"author":{"name":"Alejandro Sanz","email":"your-email@example.com"},"license":"MIT","homepage":"https://github.com/alejandrosnz/n8n-community-node-starter","keywords":["n8n-community-node-package","n8n-nodes","typescript","boilerplate","n8n-agents","workflow-automation"],"repository":{"type":"git","url":"git+https://github.com/alejandrosnz/n8n-community-node-starter.git"},"description":"Starter template for n8n community nodes","maintainers":[{"name":"alejandrosnz","email":"alxbck1@gmail.com"}],"readme":"# n8n-community-node-starter\n\n**A production-ready boilerplate for building n8n community nodes with agentic-first development, comprehensive testing, and automated CI/CD.**\n\n[![CI — test](https://github.com/alejandrosnz/n8n-community-node-starter/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/alejandrosnz/n8n-community-node-starter/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n---\n\n## The Problem with the Official Starter\n\nThe official n8n-nodes-starter gets you started, but leaves you to figure out the hard parts:\n\n- **No testing setup** → Bugs slip into production\n- **No CI/CD guidance** → Manual, error-prone releases\n- **Minimal documentation** → Steep learning curve for newcomers\n- **No agentic IDE support** → Can't leverage modern AI coding assistants\n\nIf you've struggled building your first community node, or spent hours debugging issues that tests would have caught, this starter is for you.\n\n---\n\n## The Solution: Agentic-First Development\n\nThis starter is built for **modern development workflows**:\n\n✅ **Agentic IDE compatible** → Works seamlessly with Claude, Cursor, Windsurf, and other AI coding assistants  \n✅ **Comprehensive testing** → Catch bugs before they reach production  \n✅ **Automated CI/CD** → Tests run on every PR, safe merges to master  \n✅ **TypeScript-first** → Full type safety and IntelliSense  \n✅ **Best practices baked in** → Declarative architecture, proper routing patterns  \n✅ **Production-ready** → From zero to published node in hours, not days  \n\n---\n\n## Why Choose This Starter?\n\n| Feature                  | Official Starter | n8n-community-node-starter |\n|--------------------------|------------------|----------------------------|\n| Testing Setup            | ❌ None          | ✅ Unit + Integration      |\n| Agentic IDE Support      | ❌ None          | ✅ AGENTS.md + sub-agents  |\n| CI/CD Pipeline           | ⚠️ Basic         | ✅ Tests + Auto-release    |\n| Documentation            | ⚠️ Minimal       | ✅ Comprehensive           |\n| Code Quality Tools       | ⚠️ Basic         | ✅ ESLint + Prettier       |\n| Example Implementation   | ⚠️ Hello World   | ✅ Real API (JSONPlaceholder) |\n\n---\n\n## Agentic-First Development\n\nThis starter is designed to work seamlessly with modern AI coding assistants like **Claude, Cursor, Windsurf, GitHub Copilot**, and more.\n\n### How It Works\n\n1. **`AGENTS.md`** → Complete development guide compatible with all modern agentic IDEs\n2. **`agents/` directory** → Specialized sub-agents for specific tasks:\n   - Test creation\n   - Workflow implementation\n\n### Development Flow\n\n```bash\n# 1. Reference AGENTS.md in your IDE\n# Claude Code, Cursor, Windsurf will automatically understand the project structure\n\n# 2. Ask your coding assistant to create operations\n\"Create a new 'getUser' operation for the Users resource\"\n\n# 3. Tests are generated automatically\n\"Add comprehensive tests for the getUser operation\"\n\n# 4. CI/CD catches issues before merge\n# Every PR runs: lint → test → build\n```\n\n**Result**: Faster development, fewer bugs, consistent code quality.\n\n---\n\n## Features\n\n- 🤖 **Agentic-first architecture** – AGENTS.md + specialized sub-agents for AI coding assistants\n- ✅ **Comprehensive testing** – Unit tests + workflow integration tests with Jest and nock\n- 🔄 **Automated CI/CD** – GitHub Actions pipeline: lint → test → build → release\n- 🛡️ **Type-safe development** – Full TypeScript support with strict checking\n- 📐 **Declarative node pattern** – No custom `execute()` functions, uses routing configuration\n- 🎯 **Resource/Operation structure** – Scalable, maintainable node architecture\n- 🚀 **Easy releases** – Automated versioning and npm publishing via GitHub Actions\n- 🎨 **Code quality tools** – ESLint + Prettier pre-configured\n- 📚 **Comprehensive docs** – Architecture, development, and publishing guides\n\n---\n\n## 📚 Documentation\n\n- **[AGENTS.md](./AGENTS.md)** – Complete guide for agentic-first n8n development\n- **[AI Agents](./agents/)** – Specialized sub-agents for specific development tasks\n- **[Agent Examples](./docs/AGENT_EXAMPLES.md)** – Concrete prompt examples for AI-assisted development\n- **[Architecture](./docs/ARCHITECTURE.md)** – Project structure and design patterns\n- **[Development](./docs/DEVELOPMENT.md)** – Setup and development workflow\n- **[Publishing](./docs/PUBLISHING.md)** – Release and publishing guide\n\n---\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Node.js v22 or later\n- Basic knowledge of n8n and TypeScript\n- A GitHub account for forking the repository\n\n### 1. Fork and Setup\n\n```bash\n# Fork this repository on GitHub first\n# Then clone YOUR fork (replace 'yourusername' with your actual GitHub username)\ngit clone https://github.com/yourusername/n8n-community-node-starter.git\ncd n8n-community-node-starter\n\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Run tests to verify setup\nnpm test\n```\n\n### 2. Customize for Your API\n\nEdit the following files to adapt the boilerplate to your API:\n\n#### Required Changes\n\n**`package.json`**:\n```json\n{\n  \"name\": \"n8n-nodes-your-api\",  // ⚠️ IMPORTANT: Must follow n8n naming convention\n  \"description\": \"Your API integration for n8n\",\n  \"author\": {\n    \"name\": \"Your Name\",\n    \"email\": \"your.email@example.com\"\n  },\n  \"repository\": {\n    \"url\": \"https://github.com/yourusername/n8n-nodes-your-api.git\"\n  }\n}\n```\n\n> **⚠️ CRITICAL**: The package name **MUST** follow the format `n8n-nodes-[your-service-name]` for n8n to automatically discover your node. Examples:\n> - `n8n-nodes-slack` for Slack integration\n> - `n8n-nodes-google-drive` for Google Drive\n> - `n8n-nodes-airtable` for Airtable\n> \n> Do **NOT** use generic names like `n8n-nodes-boilerplate` or `n8n-nodes-template`.\n\n**`nodes/ExampleService/ExampleService.node.ts`**:\n- Change `displayName`, `name`, `description`\n- Update `icon` path if you have a custom icon\n- Modify `credentials` to match your API authentication\n\n**`credentials/ExampleServiceApi.credentials.ts`**:\n- Update `displayName`, `documentationUrl`\n- Modify authentication properties (API key, OAuth, etc.)\n- Adjust `authenticate` and `test` blocks\n\n**`nodes/ExampleService/resources/itemCrud/`**:\n- Rename operations to match your API endpoints\n- Update field definitions for your data model\n- Modify routing configurations\n\n### 3. Test Your Changes\n\n```bash\n# Run tests\nnpm test\n\n# Run with coverage\nnpm run test:coverage\n\n# Build and lint\nnpm run build\nnpm run lint\n```\n\n### 4. Publish\n\nOnce your node is ready, publish it to npm. This starter provides two release methods:\n\n#### Option 1: GitHub Actions Release (Recommended)\n\nUse the automated workflow for reliable releases:\n\n1. Go to **Actions** tab in your GitHub repository\n2. Select **\"Release — publish to npm (manual)\"**\n3. Click **\"Run workflow\"**\n4. Choose release type (patch/minor/major)\n5. Workflow handles: versioning, changelog, git tagging, npm publishing\n\n#### Option 2: Quick Local Release\n\n```bash\n# Patch release (1.0.0 -> 1.0.1) - Bug fixes and small improvements\nnpm run release\n\n# Minor release (1.0.0 -> 1.1.0) - New features, backward compatible\nnpm run release -- --release-as minor\n\n# Major release (1.0.0 -> 2.0.0) - Breaking changes\nnpm run release -- --release-as major\n```\n\n**Release Types Guide:**\n- **Patch**: Use for bug fixes, security patches, and small improvements that don't change functionality\n- **Minor**: Use for new features and enhancements that are backward compatible\n- **Major**: Use for breaking changes, API modifications, or significant updates that may affect existing workflows\n\n---\n\n## Project Structure\n\n```\n├── nodes/\n│   └── ExampleService/              # Example node implementation\n│       ├── ExampleService.node.ts   # Main node definition\n│       ├── example.svg              # Node icon\n│       ├── generic/                 # Type definitions\n│       └── resources/               # API operations\n├── credentials/\n│   └── ExampleServiceApi.credentials.ts  # Authentication\n├── tests/                           # Test files\n│   ├── nodes/                       # Node tests\n│   └── workflows/                   # Integration tests\n├── agents/                          # Agentic IDE sub-agents\n│   ├── operation-generator.md       # Operation creation guide\n│   ├── test-generator.md            # Test creation guide\n│   └── ...                          # Other specialized agents\n├── docs/                            # Documentation\n│   ├── AGENT_EXAMPLES.md            # AI prompt examples\n│   ├── ARCHITECTURE.md              # Project structure guide\n│   ├── DEVELOPMENT.md               # Development setup\n│   └── PUBLISHING.md                # Release guide\n├── .github/\n│   └── workflows/                   # CI/CD pipelines\n│       ├── ci.yml                   # Test on every PR\n│       └── release.yml              # Automated publishing\n├── AGENTS.md                        # Main agentic development guide\n├── package.json                     # Node configuration\n├── tsconfig.json                    # TypeScript config\n└── README.md                        # This file\n```\n\n---\n\n## 🛠️ Development\n\n### Local Development Setup\n\n1. **Fork and clone** (if not already done):\n   ```bash\n   # Fork this repository on GitHub\n   # Then clone YOUR fork\n   git clone https://github.com/yourusername/n8n-community-node-starter.git\n   cd n8n-community-node-starter\n   npm install\n   ```\n\n2. **Link to local n8n** for testing:\n   ```bash\n   # In this project directory\n   npm run build\n   npm link\n\n   # In your n8n installation directory\n   npm link n8n-nodes-your-api\n   ```\n\n3. **Development workflow**:\n   ```bash\n   # Watch mode (auto-rebuild on changes)\n   npm run dev\n\n   # Run tests\n   npm test\n\n   # Full build\n   npm run build\n\n   # Lint and format\n   npm run lint\n   npm run format\n   ```\n\n### Architecture Overview\n\nThis boilerplate follows n8n's recommended patterns:\n\n- **Declarative nodes**: No `execute()` functions, uses routing configuration\n- **Resource/Operation separation**: Clean organization of API endpoints\n- **TypeScript throughout**: Full type safety and IntelliSense\n- **Test-driven**: Unit tests + workflow integration tests\n\nSee [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed explanations.\n\n---\n\n## Testing\n\n### Running Tests\n\n```bash\n# Run all tests\nnpm test\n\n# Run with coverage report\nnpm run test:coverage\n\n# Run specific test file\nnpm test -- tests/nodes/ExampleService/ExampleService.node.test.ts\n\n# Watch mode (re-run on changes)\nnpm test -- --watch\n```\n\n### Test Structure\n\n- **Unit tests**: Test individual operations, routing, and functions\n- **Integration tests**: Test full workflows with NodeTestHarness\n- **HTTP mocking**: Uses nock to mock API responses\n- **Coverage**: Enforced minimum coverage thresholds\n\nExample test output:\n```\n✓ ExampleService node tests\n  ✓ should load node properties correctly\n  ✓ should have correct credentials\n  ✓ should route GET requests correctly\n  ✓ should handle errors gracefully\n\n✓ Workflow tests\n  ✓ should execute getAll operation successfully\n  ✓ should create item with correct payload\n```\n\n---\n\n## CI/CD\n\nThis starter includes GitHub Actions workflows that ensure code quality and automate releases:\n\n### Continuous Integration (CI)\n\n**Triggers**: Every push and pull request\n\n**Pipeline**:\n1. ✅ **Lint** – ESLint checks code quality\n2. ✅ **Type-check** – TypeScript validates types\n3. ✅ **Test** – Jest runs all tests\n4. ✅ **Build** – Compiles TypeScript to JavaScript\n\n**Benefit**: Bugs are caught before merging to master. Every PR must pass all checks.\n\n### Automated Release\n\n**Triggers**: Manual workflow dispatch or version tags\n\n**Two release methods**:\n\n#### Method 1: GitHub Actions (Recommended)\n\n1. Go to **Actions** → **\"Release — publish to npm (manual)\"**\n2. Click **\"Run workflow\"**\n3. Select version bump type (patch/minor/major)\n4. Workflow automatically:\n   - Updates version in `package.json`\n   - Generates changelog\n   - Creates git tag\n   - Publishes to npm\n\n#### Method 2: Local Release\n\n```bash\nnpm run release              # Patch version\nnpm run release -- --release-as minor  # Minor version\nnpm run release -- --release-as major  # Major version\n```\n\nFor detailed workflow documentation, see [.github/workflows/README.md](.github/workflows/README.md).\n\n---\n\n## Using Agentic IDEs for Development\n\nThis starter is optimized for AI-assisted development. Here's how to leverage it:\n\n### Step 1: Open AGENTS.md in Your IDE\n\nClaude Code, Cursor, Windsurf, and other agentic IDEs will automatically detect and use this file as context.\n\n### Step 2: Use Specialized Sub-Agents\n\nAsk your coding assistant to reference specific agents for targeted tasks:\n\n```\n\"Using the operation-generator agent, create a new 'updateUser' operation\nfor the Users resource with fields: name, email, role\"\n```\n\n```\n\"Using the test-generator agent, create comprehensive tests for the\ngetUserById operation including error cases\"\n```\n\n### Step 3: Let CI/CD Verify\n\nPush your changes and let GitHub Actions validate:\n- Linting\n- Type checking\n- All tests pass\n- Build succeeds\n\n### Example Prompts\n\nSee [docs/AGENT_EXAMPLES.md](docs/AGENT_EXAMPLES.md) for complete examples, including:\n- Creating new resources\n- Adding operations\n- Writing tests\n- Implementing error handling\n- Setting up authentication\n\n---\n\n## Contributing\n\nContributions are welcome! Here's how:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Add tests for new functionality\n5. Ensure all tests pass (`npm test`)\n6. Commit your changes (`git commit -m 'Add amazing feature'`)\n7. Push to the branch (`git push origin feature/amazing-feature`)\n8. Open a Pull Request\n\n**Note**: All PRs must pass CI checks (lint, test, build) before merging.\n\n---\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file.\n\n---\n\n## Links & Resources\n\n- **[n8n Documentation](https://docs.n8n.io/)** – Official n8n docs\n- **[Community Nodes Guide](https://docs.n8n.io/integrations/community-nodes/)** – How to publish your node\n- **[n8n GitHub](https://github.com/n8n-io/n8n)** – n8n source code\n- **[JSONPlaceholder API](https://jsonplaceholder.typicode.com/)** – Example API used in this starter\n\n---\n\n## Support\n\n- 🐛 **Found a bug?** [Open an issue](https://github.com/yourusername/n8n-community-node-starter/issues)\n- 💡 **Have a feature request?** [Start a discussion](https://github.com/yourusername/n8n-community-node-starter/discussions)\n- 📧 **Need help?** Check the [docs/](docs/) directory or open an issue\n\n---\n\n**Built with ❤️ for the n8n community**\n","readmeFilename":"README.md"}