feat: Add ai-travel-planner template#185
Conversation
WalkthroughThis PR adds a new "AI Travel Planner" kit under kits/ai-travel-planner, including a lamatic.config.ts template definition, a flow graph (chat trigger, variable parsing, LLM node, response node), a Groq model configuration, system/user prompt templates, a default constitution, agent.md, README.md, and .gitignore. ChangesAI Travel Planner Kit
Suggested reviewers: Your mission, should you choose to accept it: review this new AI Travel Planner kit before it self-destructs into main. Godspeed, agent. This message will not self-destruct — but the PR review timer is ticking. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
:robot_face: AgentKit Structural ValidationNew Contributions Detected
Check Results
🎉 All checks passed! This contribution follows the AgentKit structure. |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@kits/ai-travel-planner/agent.md`:
- Around line 53-55: The author block in the AI travel planner template is
exposing a personal email address that gets copied into generated kits. Update
the markdown section identified by the Author heading to remove the maintainer’s
private email and replace it with a shared project contact or omit the email
field entirely so the template no longer publishes PII.
In `@kits/ai-travel-planner/flows/ai-travel-planner-agent.ts`:
- Around line 80-93: The Parse Travel Inputs dynamic node is mapping every field
to the same raw chat message, so it never extracts structured travel data.
Update the variablesNode_1 mapping in aiTravelPlannerAgent to parse each field
separately from the chat input, using the existing Parse Travel Inputs node and
its destination, days, budget, travelStyle, interests, and userMessage keys so
downstream prompts receive distinct values instead of duplicates.
In `@kits/ai-travel-planner/prompts/ai-travel-planner-agent_llmnode-1_user_1.md`:
- Around line 1-11: The travel plan prompt in
ai-travel-planner-agent_llmnode-1_user_1.md only uses
variablesNode_1.output.userMessage, so the model must infer trip details from
raw text instead of the parsed fields. Update this prompt to include the
normalized destination, duration, budget, travel style, and interests produced
by the upstream parser, and keep userMessage only as supporting context for the
travel-plan generation.
In `@kits/ai-travel-planner/README.md`:
- Around line 34-49: The fenced example blocks in the README section are
unlabeled, which triggers markdownlint and removes syntax highlighting. Update
the example fences under the trip prompts to include an appropriate language tag
such as text or bash, keeping the content unchanged and ensuring the markdown
remains valid and readable.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI (base), Organization UI (inherited)
Review profile: ASSERTIVE
Plan: Pro
Run ID: 1745d0fe-86d5-445e-bd36-ce85ab81ec12
📒 Files selected for processing (9)
kits/ai-travel-planner/.gitignorekits/ai-travel-planner/README.mdkits/ai-travel-planner/agent.mdkits/ai-travel-planner/constitutions/default.mdkits/ai-travel-planner/flows/ai-travel-planner-agent.tskits/ai-travel-planner/lamatic.config.tskits/ai-travel-planner/model-configs/ai-travel-planner-agent_llmnode-1_generative-model-name.tskits/ai-travel-planner/prompts/ai-travel-planner-agent_llmnode-1_system_0.mdkits/ai-travel-planner/prompts/ai-travel-planner-agent_llmnode-1_user_1.md
|
Hi @znabhi! 👋 Before this PR can be reviewed by maintainers, please resolve all comments and requested changes from the CodeRabbit automated review. Steps to follow:
This helps keep the review process efficient for everyone. Thank you! 🙏 |
PR Checklist
1. Select Contribution Type
kits/<category>/<kit-name>/)bundles/<bundle-name>/)templates/<template-name>/)2. General Requirements
kebab-caseand matches the flow IDREADME.md(purpose, setup, usage)3. File Structure (Check what applies)
config.jsonpresent with valid metadata (name, description, tags, steps, author, env keys)flows/<flow-name>/(where applicable) include:config.json(Lamatic flow export)inputs.jsonmeta.jsonREADME.md.env.examplewith placeholder values only (kits only)config.jsonnode graphs (changes via Lamatic Studio export)4. Validation
npm install && npm run devworks locally (kits: UI runs; bundles/templates: flows are valid)[kit] Add <name> for <use case>)kits/ai-travel-planner/.gitignoreto exclude.lamatic/,node_modules/, and local env files.kits/ai-travel-planner/README.mddocumenting the AI Travel Planner template, setup steps, usage, flow overview, config, and example output.kits/ai-travel-planner/agent.mddescribing the agent's purpose, capabilities, model choice, and guardrails.kits/ai-travel-planner/constitutions/default.mdwith baseline safety, data-handling, and tone rules.kits/ai-travel-planner/lamatic.config.tsdefining the kit metadata, author info, tags, required step id, and repository link.kits/ai-travel-planner/flows/ai-travel-planner-agent.tsdefining the flow graph and references.llama-3.3-70b-versatilemodel with prompt/config references, then returns a markdown travel plan.kits/ai-travel-planner/model-configs/ai-travel-planner-agent_llmnode-1_generative-model-name.tswith the Groq model configuration.kits/ai-travel-planner/prompts/ai-travel-planner-agent_llmnode-1_system_0.mdfor the system instructions.kits/ai-travel-planner/prompts/ai-travel-planner-agent_llmnode-1_user_1.mdfor the user prompt template and required travel-plan structure.