
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@stanleykao72/claude-code-spec-workflow-odoo
Advanced tools
Odoo ERP customization development workflow with Claude Code. Enhanced spec-driven development with Odoo-specific templates, version management, and command lifecycle management for streamlined ERP development.
Language / θͺθ¨: πΊπΈ English | πΉπΌ ηΉι«δΈζ
π ODOO ERP CUSTOMIZATION VERSION: This is an enhanced version of the original Claude Code Spec Workflow, specifically adapted for Odoo ERP customization development. It includes all original features plus comprehensive Odoo-specific tools and workflows.
Automated workflows for Claude Code with Odoo ERP customization development support.
Transform your development with structured workflows: Requirements β Design β Tasks β Implementation for new features, plus streamlined Report β Analyze β Fix β Verify for bug fixes.
npm i -g @stanleykao72/claude-code-spec-workflow-odoo
# Install the Claude Code workflow with Odoo integration
claude-code-spec-workflow-odoo setup
# or using npx
npx @stanleykao72/claude-code-spec-workflow-odoo setup
claude-code-spec-workflow-odoo odoo-setup
# or using npx
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-setup
That's it, you are ready to go!
If you're working on Odoo projects, you get additional powerful features:
Next steps for Odoo development:
# Detect your Odoo version
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-detect
# Generate steering documents for your Odoo project
claude # Then use: /odoo-steering
# Start creating Odoo-specific specifications
claude # Then use: /odoo-spec-create module-name "Module description"
.odoo-dev/templates/
After running odoo-setup
, the system automatically copies 5 Odoo-specific templates to .odoo-dev/templates/
directory:
odoo-requirements-template.md
- Odoo requirements document templateodoo-design-template.md
- Odoo design document templateodoo-tasks-template.md
- Odoo tasks document templateodoo-product-template.md
- Odoo product document templateodoo-cleanup-policy.yaml
- Odoo cleanup policy configurationCommands correctly reference templates:
/odoo-spec-create
- Uses templates from .odoo-dev/templates/
/odoo-feature-create
- Uses templates from .odoo-dev/templates/
/odoo-steering
- Uses templates from .odoo-dev/templates/
get-template-context odoo
- Lists all Odoo templates from correct directoryComplete automation in one command:
/spec-create feature-name "Description"
What happens:
Execute tasks:
# Manual control
/spec-execute 1 feature-name
/feature-name-task-1 # Auto-generated
/bug-create issue-name "Description" # Document the bug
/bug-analyze # Find root cause
/bug-fix # Implement solution
/bug-verify # Confirm resolution
/spec-steering-setup # Creates product.md, tech.md, structure.md
Command | Purpose |
---|---|
/spec-steering-setup | Create project context documents |
/spec-create <name> | Complete spec workflow |
/spec-execute <task-id> | Manual task execution |
/<name>-task-<id> | Auto-generated task commands |
/spec-status | Show progress |
/spec-list | List all specs |
Command | Purpose |
---|---|
/odoo-steering | Create Odoo-specific steering documents |
/odoo-spec-create <name> | Create Odoo module specifications |
/odoo-spec-execute <task-id> <spec> | Execute Odoo module tasks |
/odoo-spec-status [module] [type] [spec] | Show Odoo module spec status |
/odoo-spec-list | List all Odoo module specifications |
/odoo-feature-create <name> | Create Odoo feature specifications |
/odoo-module-test <name> | Test Odoo modules |
Command | Purpose |
---|---|
/bug-create <name> | Document bug with structured format |
/bug-analyze | Investigate root cause |
/bug-fix | Implement targeted solution |
/bug-verify | Verify resolution |
/bug-status | Show bug fix progress |
Command | Purpose |
---|---|
/odoo-bug-create <name> | Create Odoo module bug reports |
/odoo-bug-analyze | Analyze Odoo module bug root causes |
/odoo-bug-fix <name> | Fix Odoo-specific module bugs |
/odoo-bug-verify <name> | Verify Odoo module bug fixes |
/odoo-bug-status | Show Odoo module bug status |
8 AI agents for enhanced automation:
Core Workflow Agents: spec-task-executor
, spec-requirements-validator
, spec-design-validator
, spec-task-validator
Odoo ERP Agents: odoo-spec-task-executor
, odoo-spec-requirements-validator
, odoo-spec-design-validator
, odoo-spec-task-validator
Note: Agents are optional - everything works with built-in fallbacks.
get-steering-context
, get-spec-context
, and get-template-context
get-content
when optimization unavailablenpx -p @stanleykao72/claude-code-spec-workflow-odoo claude-spec-dashboard
Share your dashboard securely with external stakeholders through temporary HTTPS URLs:
# Start dashboard with tunnel
npx -p @stanleykao72/claude-code-spec-workflow-odoo claude-spec-dashboard --tunnel
# With password protection
npx -p @stanleykao72/claude-code-spec-workflow-odoo claude-spec-dashboard --tunnel --tunnel-password mySecret123
# Choose specific provider
npx -p @stanleykao72/claude-code-spec-workflow-odoo claude-spec-dashboard --tunnel --tunnel-provider cloudflare
Tunnel Features:
# Setup in current directory
npx @stanleykao72/claude-code-spec-workflow-odoo
# Setup in specific directory
npx @stanleykao72/claude-code-spec-workflow-odoo --project /path/to/project
# Force overwrite existing files
npx @stanleykao72/claude-code-spec-workflow-odoo --force
# Skip confirmation prompts
npx @stanleykao72/claude-code-spec-workflow-odoo --yes
# Test the setup
npx @stanleykao72/claude-code-spec-workflow-odoo test
# Basic dashboard
npx -p @stanleykao72/claude-code-spec-workflow-odoo claude-spec-dashboard
# Dashboard with tunnel (share externally)
npx -p @stanleykao72/claude-code-spec-workflow-odoo claude-spec-dashboard --tunnel
# Full tunnel configuration
npx -p @stanleykao72/claude-code-spec-workflow-odoo claude-spec-dashboard \
--tunnel \
--tunnel-password mySecret123 \
--tunnel-provider cloudflare \
--port 3000 \
--open
Steering documents provide persistent project context that guides all spec development:
product.md
)tech.md
)structure.md
)Run /spec-steering-setup
to create these documents. Claude will analyze your project and help you define these standards.
your-project/
βββ .claude/
β βββ commands/ # 14 slash commands + auto-generated
β βββ steering/ # product.md, tech.md, structure.md
β βββ templates/ # General document templates
β βββ specs/ # Generated specifications
β βββ bugs/ # Bug fix workflows
β βββ agents/ # AI agents (enabled by default)
your-odoo-project/
βββ .claude/ # General Claude Code structure (same as above)
βββ .odoo-dev/ # Odoo-specific structure
βββ templates/ # π Odoo-specific templates (v1.6.11+ auto-copied)
β βββ odoo-requirements-template.md
β βββ odoo-design-template.md
β βββ odoo-tasks-template.md
β βββ odoo-product-template.md
β βββ odoo-cleanup-policy.yaml
βββ steering/ # Odoo guidance documents
βββ config.json # Odoo configuration file
The package includes a built-in test command:
# Test setup in temporary directory
npx @stanleykao72/claude-code-spec-workflow-odoo test
β Command not found after NPX
# Make sure you're using the correct package name
npx @stanleykao72/claude-code-spec-workflow-odoo
β Setup fails with permission errors
# Try with different directory permissions
npx @stanleykao72/claude-code-spec-workflow-odoo --project ~/my-project
β Claude Code not detected
# Install Claude Code first
npm install -g @anthropic-ai/claude-code
# Show verbose output
DEBUG=* npx @stanleykao72/claude-code-spec-workflow-odoo
# Check package version
npx @stanleykao72/claude-code-spec-workflow-odoo --version
/odoo-bug-fix [module-name]-[issue-description] "Detailed description"
Example:
/odoo-bug-fix inventory-stock-error "Inventory module calculation error"
# Step 1: Log the error (including module info)
/odoo-bug-fix inventory-calculation-bug "Inventory calculation shows negative values under specific conditions"
# Step 2: Analyze root cause
/bug-analyze
# Step 3: Implement solution
/bug-fix
# Step 4: Verify fix
/bug-verify
# Create bug report (specify module)
/bug-create [module-name]-bug-name "Issue description found in [module-name] module"
# Example
/bug-create sale-order-bug "Sales order module calculation error when processing discounts"
When using /odoo-bug-fix
, the system automatically:
Recommended naming convention:
[module-name]-[error-type]-[short-description]
inventory-calculation-negative
, sale-discount-error
, account-payment-timeout
# Specialized Odoo setup
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-setup
# Environment detection and management
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-detect
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-version
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-env
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-modules
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-cmd
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-cleanup
# Steering and project setup
/odoo-steering # Generate Odoo steering documents
# Feature specification workflow
/odoo-spec-create module-name "Module description"
/odoo-feature-create module-feature-name "Feature description for Odoo module"
/odoo-module-test module-name "Test description for module"
# Module specification management (v1.6.13+)
/odoo-spec-list # List all module specifications
/odoo-spec-status [module] [type] [spec] # Show detailed status
/odoo-spec-execute <task-id> <spec> [module] # Execute specification tasks
# Complete Odoo bug workflow
/odoo-bug-create module-bug-name "Bug description" # Create bug report
/odoo-bug-analyze # Analyze root cause
/odoo-bug-fix module-issue-name "Bug description" # Fix bug with ERP context
/odoo-bug-verify module-bug-name # Verify fix with integration testing
/odoo-bug-status # Show bug status
# Examples
/odoo-spec-create inventory-enhancement "Custom inventory management features"
/odoo-module-test inventory_custom "Run tests for custom inventory module"
/odoo-bug-fix sale-discount-error "Sales module discount calculation bug"
/odoo-feature-create hr-attendance-tracking "Employee attendance tracking system"
# NEW: Module-aware workflow examples
/odoo-spec-list # See all module specs
/odoo-spec-status inventory_custom # Check specific module
/odoo-spec-status inventory_custom features # Check module features
/odoo-spec-execute 1 inventory-tracking # Execute task 1
/odoo-spec-execute 2 stock-enhancement inventory_custom # Execute with module context
# Additional examples
/odoo-spec-create pos-loyalty-program "Point of sale loyalty program integration"
/odoo-bug-fix account-payment-timeout "Accounting module payment processing timeout"
/odoo-module-test website_custom "Test custom website module functionality"
cd my-awesome-project
npx @stanleykao72/claude-code-spec-workflow-odoo
claude
# Type: /spec-create user-dashboard "User profile management"
# Setup multiple projects
for dir in project1 project2 project3; do
npx @stanleykao72/claude-code-spec-workflow-odoo --project $dir --yes
done
# Odoo-specific project setup
cd odoo-custom-modules
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-setup
claude
# Type: /odoo-spec-create inventory-management "Custom inventory workflows"
The dashboard frontend is fully implemented in TypeScript for enhanced type safety and developer experience:
// Core dashboard types
interface Project {
path: string;
name: string;
level: number;
hasActiveSession: boolean;
specs: Spec[];
bugs: Bug[];
steeringStatus?: SteeringStatus;
}
// WebSocket message types with discriminated unions
type WebSocketMessage =
| { type: 'initial'; data: InitialData }
| { type: 'update'; data: UpdateData }
| { type: 'error'; data: ErrorData }
| { type: 'tunnel-status'; data: TunnelStatusData };
# TypeScript compilation and bundling
npm run build:frontend:dev # Build frontend for development
npm run build:frontend:prod # Build frontend for production (minified)
npm run watch:frontend # Watch mode with auto-rebuild
npm run typecheck:frontend # Type checking only (no output)
npm run typecheck # Check both backend and frontend types
# Development workflow
npm run dev:dashboard # Start dashboard with hot reload (frontend + backend)
npm run dev:dashboard:backend-only # Start only backend (for frontend debugging)
# Full build process
npm run build # Complete build: TypeScript + frontend + static files
npm run lint # Lint TypeScript files with auto-fix
npm run format # Format code with Prettier
// Import dashboard types
import type { Project, WebSocketMessage, AppState } from './dashboard.types';
// Type-safe project handling
function selectProject(project: Project): void {
console.log(`Selected: ${project.name} (${project.specs.length} specs)`);
// Safe property access with optional chaining
const steeringCount = project.steeringStatus?.totalDocs ?? 0;
if (steeringCount > 0) {
console.log(`Steering docs: ${steeringCount}`);
}
}
// WebSocket message handling with discriminated unions
function handleMessage(message: WebSocketMessage): void {
switch (message.type) {
case 'initial':
// TypeScript knows data is InitialData
console.log(`Loaded ${message.data.projects.length} projects`);
break;
case 'update':
// TypeScript knows data is UpdateData
console.log(`Updated project: ${message.data.projectPath}`);
break;
case 'error':
// TypeScript knows data is ErrorData
console.error(`Error: ${message.data.message}`);
break;
}
}
// Type guards for runtime validation
function isValidProject(obj: unknown): obj is Project {
return (
typeof obj === 'object' &&
obj !== null &&
'path' in obj &&
'name' in obj &&
'specs' in obj &&
Array.isArray((obj as Project).specs)
);
}
// Result type for error handling
type Result<T, E = Error> =
| { success: true; data: T }
| { success: false; error: E };
function parseProjectData(data: unknown): Result<Project> {
if (isValidProject(data)) {
return { success: true, data };
}
return { success: false, error: new Error('Invalid project data') };
}
Contributions are welcome! Please see our Contributing Guide.
MIT License - see LICENSE for details.
See CHANGELOG.md for version history.
Scenario | Recommended Approach |
---|---|
New feature, well-defined | /spec-execute or individual task commands |
Complex/experimental feature | /spec-execute (manual control) |
Bug in existing code | Bug workflow (/bug-create β /bug-verify ) |
Learning the codebase | Manual execution with individual commands |
Production deployment | Full spec workflow with completion review |
# Install globally (recommended)
npm install -g @stanleykao72/claude-code-spec-workflow-odoo
# Verify installation
claude-code-spec-workflow --version
# Basic setup
claude-code-spec-workflow
# Odoo-specific setup
claude-code-spec-workflow odoo-setup
# Advanced options
claude-code-spec-workflow --project /path --force --yes
During setup you choose:
Recommendation: Use Claude Opus 4 to generate the spec documentation '/spec-create', then use Claude Sonnet 4 for the implementation i.e. '/spec-execute' or '/{spec-name}-task-'.
# 1. Install globally (one time)
npm install -g @stanleykao72/claude-code-spec-workflow-odoo
# 2. Setup project (one time)
cd my-project
claude-code-spec-workflow
# 3. Create steering documents (recommended)
claude
/spec-steering-setup
# 4. Create feature spec
/spec-create user-authentication "Secure login system"
# 5. Execute tasks
/spec-execute 1 user-authentication
# 6. Monitor progress
/spec-status user-authentication
/bug-create login-timeout "Users logged out too quickly"
/bug-analyze
/bug-fix
/bug-verify
The package includes optimized commands for efficient document loading across all document types:
Load all steering documents at once for context sharing:
claude-code-spec-workflow get-steering-context
Output: Formatted markdown with all steering documents (product.md, tech.md, structure.md)
Load all specification documents at once for context sharing:
claude-code-spec-workflow get-spec-context feature-name
Output: Formatted markdown with all spec documents (requirements.md, design.md, tasks.md)
Load templates by category for context sharing:
# Load all templates
claude-code-spec-workflow get-template-context
# Load specific template category
claude-code-spec-workflow get-template-context spec # Spec templates
claude-code-spec-workflow get-template-context bug # Bug templates
claude-code-spec-workflow get-template-context steering # Steering templates
claude-code-spec-workflow get-template-context odoo # Odoo templates (from .odoo-dev/templates/)
Output: Formatted markdown with requested templates
get-content
for edge casesget-content
when neededThe system implements a sophisticated hierarchical context management strategy for maximum efficiency:
Main Agents (Commands like /spec-execute
, /spec-create
):
Sub-Agents (Agents like spec-task-executor
):
Context Distribution Pattern:
Main Agent loads: Steering + Full Spec + Task Details
β Delegates to Sub-Agent with:
βββ Complete Steering Context
βββ Selective Spec Context (Requirements + Design only)
βββ Specific Task Details
βββ Clear instruction: "Do NOT reload context"
This approach eliminates redundant loading while ensuring each agent has exactly the context it needs.
β "Command not found"
# Install globally first
npm install -g @stanleykao72/claude-code-spec-workflow-odoo
# Then use the command
claude-code-spec-workflow
β "Claude Code not detected"
npm install -g @anthropic-ai/claude-code
β "Permission errors"
claude-code-spec-workflow --project ~/my-project
When working with Odoo projects, specification files are organized using a module-level structure rather than a centralized documentation approach. This design aligns with Odoo's modular architecture and enables better module isolation.
For Odoo Projects:
your-odoo-project/
βββ custom_addons/
β βββ inventory_custom/
β βββ .spec/ # Module-specific specifications
β β βββ features/
β β β βββ stock-tracking/
β β β βββ request.md
β β β βββ requirements.md
β β β βββ design.md
β β β βββ tasks.md
β β βββ bugs/
β β β βββ negative-stock/
β β β βββ report.md
β β β βββ analysis.md
β β β βββ fix.md
β β β βββ verification.md
β β βββ testing/
β β βββ testing-plan.md
β β βββ test-cases.md
β β βββ test-implementation.md
β βββ models/
β βββ views/
β βββ __manifest__.py
βββ .odoo-dev/
βββ steering/ # Project-level guidance
β βββ business-rules.md
β βββ technical-stack.md
β βββ module-standards.md
βββ templates/ # Odoo-specific templates
βββ odoo-requirements-template.md
βββ odoo-design-template.md
βββ odoo-tasks-template.md
βββ odoo-product-template.md
βββ odoo-cleanup-policy.yaml
If you want to customize how Claude Code handles Odoo specifications in your project, add this section to your project's .claude/CLAUDE.md
file:
## Odoo Development Guidelines
### File Organization
- **Module Specifications**: Store all specification files within each module's `.spec/` directory
- **Feature Specifications**: `[module-path]/.spec/features/[feature-name]/`
- **Bug Fix Workflows**: `[module-path]/.spec/bugs/[bug-name]/`
- **Module Testing**: `[module-path]/.spec/testing/`
- **Project Steering**: `.odoo-dev/steering/` (project-level guidance documents)
### Specification Structure
- **Features**: request.md β requirements.md β design.md β tasks.md
- **Bug Fixes**: report.md β analysis.md β fix.md β verification.md
- **Testing**: testing-plan.md β test-cases.md β test-implementation.md
### Development Workflow
1. Use `/odoo-steering` to create project-level guidance documents
2. Use `/odoo-spec-create module-name "description"` for new features
3. Use `/odoo-bug-fix module-issue "description"` for bug fixes
4. Use `/odoo-spec-execute task-id spec-name` for implementation
5. Use `/odoo-spec-status` and `/odoo-spec-list` for progress tracking
### Module Context
- All Odoo commands automatically detect module structure and dependencies
- Specifications include Odoo version compatibility and inheritance analysis
- Integration with pytest-odoo testing framework
- Multi-company and localization considerations built-in
Initialize Odoo Environment:
npx @stanleykao72/claude-code-spec-workflow-odoo odoo-setup
Create Project Steering Documents:
claude
/odoo-steering
Start Module Development:
# Creates specifications in module-path/.spec/
/odoo-spec-create inventory-enhancement "Custom inventory features"
Track Progress:
/odoo-spec-list # All modules overview
/odoo-spec-status inventory_custom # Specific module status
This module-level approach ensures that your Odoo specifications are organized, maintainable, and aligned with Odoo's development best practices.
MIT License - LICENSE
Made with β€οΈ by Pimzino
Special Thanks:
Powered by: Claude Code β’ Mermaid β’ TypeScript
FAQs
Odoo ERP customization development workflow with Claude Code. Enhanced spec-driven development with Odoo-specific templates, version management, and command lifecycle management for streamlined ERP development.
The npm package @stanleykao72/claude-code-spec-workflow-odoo receives a total of 38 weekly downloads. As such, @stanleykao72/claude-code-spec-workflow-odoo popularity was classified as not popular.
We found that @stanleykao72/claude-code-spec-workflow-odoo demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.